wdcp教程之解决NGINX的WORDPRESS伪静态规则失效的?
解决NGINX的WORDPRESS伪静态规则失效的问题前两天搬到了EMSVPS的PR线路上,用上了最新的WDCP2.0管理面板,支持多用户管理(我们几个合租的VPS,最需要这个功能了),感觉很不错,屁颠屁颠的把网站搬过来了,然后设计wordpress伪静态规则。
我还是使用的是WDCP1.0时代的wordpress伪静态规则try_files $uri $uri/ /index.php?q=$request_uri;结果重启nginx,还是显示404。
这就让我纠结了。
后来我有测试一个网上最普遍的try_files $uri $uri/ /index.php?q=$uri&$args;结果还是失效,急的我像是热过上的蚂蚁啊,又在网上陆续找了一些伪静态规则,没一个成功了。
重启服务器重启了N次。
黄天不负有心人,最后终于让我找到了一条可以用的rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;if (!-e $request_filename) {rewrite ^. ?(/wp-.*) $1 last;rewrite ^. ?(/.*/.php)$ $1 last;rewrite ^ /index.php last;}根据这条规则发明人的解释,第一条规则try_files $uri $uri/ /index.php?q=$request_uri;会让所有的找不到的目录和文件跳转到index.php处理,很有可能是我的index.php权限问题或者其他原因导致不能将伪静态地址映射到真实地址中去。
所以才会出现这个纠结的问题。
本文教程摘自http://www.wdlinux.cn/bbs/欢迎转载~
LNMP nginx配置伪静态规则
第一步、准备伪静态脚本。
server { listen 80; server_name laozuo.org; server_name_in_redirect off; access_log /var/log/nginx/localhost.access_log main; error_log /var/log/nginx/localhost.error_log info; root PATH_ON_SERVER; index index.php index.html index.htm default.html default.htm; # Support Clean (aka Search Engine Friendly) URLs location / { try_files $uri $uri/ /index.php$args; } # deny running scripts inside writable directories location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi.conf; } # caching of files location ~* \.(ico|pdf|flv)$ { expires 1y; } location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { expires 14d; }} 第二步,修改文件。
/usr/local/nginx/conf/vhost/www.laozuo.org.conf 这个文件是在添加域名站点时候自动生成的,然后修改这个脚本为第一步的伪静态文件,全部替换就OK。
这样把所有的伪静态都写入的,而没有像wordpress采用调用的方式。
效果是一样的。
第三步、重启LNMP。
/root/lnmp restart
怎么利用nginx进行url重写实现伪静态
Nginx服务器下使用rewrite重写url以实现伪静态的示例,这里举了Discuz!和WordPress这两个常用的PHP程序,需要的朋友可以参考下经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。
我推荐你去后盾人上面看看哦⊙?⊙!里面有很多关于这类php之类的教学视频讲解,你可以去学习看看...
wordpress 哪种伪静态规则好
Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。
比如在Apache中这样写规则rewrite ^/([0-9]{5}).html$ /viewthread而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号:rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last;同时将RewriteRule为Rewrite,基本就实现了Nginx的Rewrite规则到Apache的Rewite规则的转换。
Rewrite的Flagslast - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配redirect - 返回临时重定向的HTTP状态302permanent - 返回永久重定向的HTTP状态301WordPress的Rewrite其实在Nginx下配置WordPress的Rewrite还是比较简单的,在location /{..................}里面加入if (!-f $request_filename){rewrite (.*) /index.php;}即可实现。
详细可以去后盾人平台看看视频教学的,很详细高质量也很清楚的。
Windows主机wordpress伪静态如何设置?
你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。
去掉网页地址中的index.php! 这样即可固定REQUEST_URI和PATH_INFO参量并且包括进去index.php,剩下的将交给wodpess完成任务(说实话,这参数定义代码偶也不清楚,依葫芦画瓢即可)。
具体设置步骤: 1.新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handle.php。
2.设置404自定义错误指向wp-404-handle.php,一般来说,绝大多数服务器控制面板均提供该选项。
3.进入wodpess管理后台,设置(Options)-永久链接(Pemalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。
4.Enjoy! 推荐链接地址层次不要太深,并且伪静态化地址加上htmlhtm,不过也有人推荐不要加上伪静态后缀,因为那样搜索引擎可能会认为那种地址是一个分类目录,而不是一个具体的网页,从而获得更高的搜索排名权重,现在wodpess个人博客也比较流行那种伪静态格式。
这种方法巧妙的采用了404错误跳转来达到和伪静态那样的效果,对于使用windows主机的朋友可以说是好事!
wordpress中这样的伪静态怎么写
[ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 RewriteRule ^/([^\.]+)$ /index\.php\?f=$1 RewriteRule ^/([^\.]+\.htm)$ /index\.php\?f=$1 RewriteRule ^/([^\.]+\.html)$ /index\.php\?f=$1 RewriteRule ^/([^\.]+\.shtml)$ /index\.php\?f=$1 RewriteRule ^/([^\.]+\.php)$ /index\.php\?f=$1 试看看
wordpress本地怎样实现伪静态
WordPress自动生成真实存在的静态页面设置方法:方法很简单只需要下载安装一个名叫cos-html-cache的wordpress插件即可。
COS-HTML-Cache是一个非常有效的WordPress页面缓存插件,使WordPress网站响应速度更快。
基于URL重写,该插件将自动生成真正的HTML文件,当有用户或搜索引擎蜘蛛来访问你的伪静态页面时,该插件会自动更新HTML文件及其相关的文章修改。
可以在wordpress后台选择插件>安装插件,输入cos-html-cache然后搜索安装,最后在启用即可。
或者到wordpress网站下载cos-html-cache压缩包,解压后用FTP上传到/wp-content/plugins/目录下面,然后在后台启用。
插件安装成功生效以后,并不会马上生成html静态文件,当下次用户进入或者有蜘蛛到访的情况下,它才会自动生成或更新html文件。
如果想快速生成html文件看下效果,可以使用站长工具里面的死链接检测,并模仿蜘蛛来访问自己的网站即可。
...
转载请注明出处51数据库 » wordpress nginx 伪静态规