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
怎么设置php开源程序伪静态设置通用方法
展开全部 关于php开源程序的伪静态设置,怎么设置类?不同的开源程序设置方法是否有相同之处?它们各自是否又有怎样的特点类?是否有规律可查?这些,将是我们今天这篇文章的全部内容。
无忧主机小编,就根据自己的多年的工作经验总结一下。
把php开源程序如何设置伪静态(url重写)的方法进行总结,分享给大家,如何设置网站伪静态,怎么设置伪静态?这个问题,当你看完之后,肯定能找到解决问题的方向。
此文,献给,亲爱的无忧主机香港免备案的php空间的用户们,以及对php开源程序的爱好者们。
希望对各位站长能有所帮助。
伪静态设置对象:市面您能找到的php开源程序使用环境:使用linux环境php虚拟主机,或自建的使用linux环境的独立服务器。
不适合windows环境的的php空间用户使用。
以下是关于php开源程序的伪静态设置的通用方法的介绍:任何php编写开源程序的网站,实现伪静态的方法,都是遵循这样的一个步骤:在网站后台开启伪静态功能上传.htaccess文件(伪静态规则)然后您的网站就会自动调用服务器的rewrite模块,把动态url地址根据,您的伪静态规则文件自动将其输出html的静态页面。
只是不同的网站程序,其设置的方法和表现形式不同而已,我已将其分为如下几类,您可以详细参考。
Php开源程序伪静态设置方法大概可以分为三种类型:善解人意型典型案例:wordpress用wordpress建站的站长应该都知道,wordpress的伪静态设置方法非常之简单,只需要登录wordpress后台,设置——常规,在“wordpress地址(URL)”和“站点地址(URL)”两个地方输入www的域名就可以了,不需要任何伪静态代码,可谓非常人性化,当之无愧的“善解人意”。
自给自足型典型案例:光线cms光线cms伪静态设置方法是这样的:首先需要在后台开启伪静态,设置是:伪静态重写功能:开启网站运行模式:动态然后在网站根目录rewrite文件夹中找到.htaccess文件,也就是程序自带的伪静态文件,把它移到程序安装目录,就可以了。
这类伪静态设置,一般是在后台开启伪静态,然后再把程序自带的伪静态文件放到程序安装目录就行了。
由于伪静态文件程序包里是自带的,不需要自己去找,所以,“自给自足型”,理所应当。
自力更生型典型案例:discuz(适用于各个版本)Discuz开启伪静态的方法,和光线cms设置方法有类似的地方。
首先,需要在discuz论坛的后台全局——seo设置,在可用处全部勾选,点击提交,然后点击“查看当前的Rewrite规则”,把“Apache Web Server(虚拟主机用户)”下的代码复制出来,在本地新建一个名为1.txt文本文档(命名不限,不要用中文就行),复制进去保存。
然后上传到网站安装目录,重命名为.htaccess。
这里要注意一点,伪静态规则中的“RewriteBase /”,如果网站安装在根目录,那么就“/”后面就不需要写。
否则就要在“/”后添加二级目录名称。
这类伪静态设置,不仅仅需要在后台开启伪静态,还需要自己在后台寻找伪静态代码,并且需要自己新建文件上传到网站安装目录,相对以上两种,还是比较麻烦的。
所谓“自力更生”,所有步骤几乎都要自己来操作,可谓名副其实。
Php开源程序的伪静态设置,无忧主机小编了解的大概就这三个分类。
一些其他的开源程序,基本上都可以归到这三个大类里面。
希望大家可以有所收获。
无忧主机小编推荐文章阅读:定制实现Ecshop专题页伪静态
nginx 程序怎么ln到最新文件夹
nginx中的include是手动添加,指定目录。
apache已经把.htaccess作为它的一种特色机制,并且支持站所有子目录都可以有.htaccess文件。
根际实际开发经验,很多人在早期都是用虚拟空间的多,而早期的虚拟空间基本都是apache做webserver,所以用户不需要联系空间商就能自己做伪静态,而开源程序更是方便的拓展这一功能(ecshop,wordpress,phpcms等等)。
并且维护也方便,只要覆盖.htaccess就好。
其实,没有几个站点经常去修改.htaccess,并且现在基本使用vps居多。
nginx 也可使用 .htaccess 文件实现多种功能。
在 nginx/nginx.conf的server{}中引入 .htaccess 文件:include /vhosts/quany.info/.htaccess;
wordpress如何去掉index.php
rwrite重写设置伪静态即可。
WordPress伪静态 for nginxif (-f $request_filename/index.html){rewrite (.*) $1/index.html break;}if (-f $request_filename/index.php){rewrite (.*) $1/index.php;}if (!-f $request_filename){rewrite (.*) /index.php;}
如何为主机设置伪静态
展开全部 在我们成功搭建一个新的网站后,我们就有必要做下网站的SEO基础设置,其中重要的一点就是URL伪静态处理,今天上海SEO就给大家介绍什么是URL伪静态怎么设置URL伪静态。
URL伪静态也就是做静态化处理,是将网站动态的URL地址通过处理生成静态的URL地址,这也是我们SEO优化的基础设置之一。
同URL静态化相反,URL动态化的特征是网页的网址里面一般通常会包含类似“?”的特殊字符。
URL伪静态的作用是使网站符合搜索引擎的索引原则,促进网站的排名。
虽然说搜索引擎现在可以收录动态地址的网页,但是在排名上还是静态化的网页比较有优势,所以做SEO优化的朋友们,建议还是让网站静态化比较好。
那么该怎么设置URL伪静态呢?上海SEO就给大家介绍下。
其实在不同系统的空间,网站伪静态的设置方法都不一样,下面就以Linux系统的伪静态设置方法给大家介绍。
首先我们登录Wordpress的管理后台,在“设置”—“固定链接”的常用设置里将固定链接设置成“自定义”,并在其输入框中输入“/%category%/%post_id%.html ”这串代码,保存更改,这样就完成了伪静态设置,很简单吧,大家也去试试吧。
设置好网站的URL静态化,当我们再重新打开网页时就不会在URL地址看到类似“?”的特殊符号,这样完成了SEO基础设置的第一步。
同时这样的设置对于百度蜘蛛抓取也是非常友好的,希望我的介绍可让大家对SEO优化多一点认识以及领悟。
...
提示No input file specified 怎么处理
原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,Wordpress的伪静态也有一样的问题。
Wordpress程序默认的.htaccess里面的规则:RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /index.php/$1 [L]修改伪静态规则,如下: RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /index.php?/$1 [L]其实就是在正则结果“/$1”前面多加了一个“?”号,问题也就随之解决了。
其他框架也是如此更改。
...
nginx+Rewrite规则:全站强制https跳转,/admin.php 文件除外,它要...
展开全部 nginx强制使用https访问(http跳转到https) 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转 我总结了三种方式,跟大家共享一下 nginx的rewrite方法 思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可 配置 server { listen 192.168.1.111:80; server_name test.com; rewrite ^(.*)$ https://$host$1 permanent; } 搭建此虚拟主机完成后,就可以将http://test.com的请求全部重写到https://test.com上了 nginx的497状态码 error code 497 497 - normal request was sent to HTTPS 解释:当此虚拟站点只允许https访问时,当用http访问时nginx会报出497错误码 思路 利用error_page命令将497状态码的链接重定向到https://test.com这个域名上 配置 server { listen 192.168.1.11:443; #ssl端口 listen 192.168.1.11:80; #用户习惯用http访问,加上80,后面通过497状态码让它自动跳到443端口 server_name test.com; #为一个server{......}开启ssl支持 ssl on; #指定PEM格式的证书文件 ssl_certificate /etc/nginx/test.pem; #指定PEM格式的私钥文件 ssl_certificate_key /etc/nginx/test.key; #让http请求重定向到https请求 error_page 497 https://$host$uri?$args; } index.html刷新网页 思路 上述两种方法均会耗费服务器的资源,我们用curl访问baidu.com试一下,看百度的公司是如何实现baidu.com向www.baidu.com的跳转 可以看到百度很巧妙的利用meta的刷新作用,将baidu.com跳转到www.baidu.com.因此我们可以基于http://test.com的虚拟主机路径下也写一个index.html,内容就是http向https的跳转 index.html nginx虚拟主机配置 server { listen 192.168.1.11:80; server_name test.com; location / { #index.html放在虚拟主机监听的根目录下 root /srv/www/http.test.com/; } #将404的页面重定向到https的首页 error_page 404 https://test.com/; }
伪静态怎么强制https
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]# END WordPress
转载请注明出处51数据库 » nginx wordpress 伪静态
迷离的夜色53222243