网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   服务器环境搭建 (https://www.0058.net/forumdisplay.php?f=5)
-   -   终于搞定在nginx上支持.htaccess伪静态了 (https://www.0058.net/showthread.php?t=5765)

China 2016-06-10 07:05 AM

终于搞定在nginx上支持.htaccess伪静态了
 
在虚拟机里折腾LNMP,为了测试网站怎样配置给装上了Wordpress。OK,跑起来一切顺意,最后开启伪静态却发现无效。看来nginx不支付加载htaccess,那只好手工加载了。找了很多方法一一尝试均,折腾了好几次才搞定。记录一下方法,方便以后查看。

首页在wordpress站点下放置一个.htaccess文件,文件内容为《WordPress的Nginx伪静态规则》:
Code:

location / {
        index index.html index.php;
        if (-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;
        }
    }

然后进入nginx的配置目录。(因安装环境不同,路径位置各不相同,请自行查找)
如:vi /www/web/nginx/conf/vhost/www.cheapeyeglasses.net.conf (我测试安装在虚拟空间上)
或: vi /www/web/nginx/conf/nginx.conf
在server {
listen 80;
server_name cheapeyeglasses.netwww.cheapeyeglasses.net;
root /www/web/www.cheapeyeglasses.net;
include /www/web/www.cheapeyeglasses.net/.htaccess; //增加这句,注意路径。
…….
后面省略了

然后再重新加载nginx:
/etc/init.d/nginx restart
(注意,很多网站介绍时,把init.d写成了init)

提醒一下:apache下的htaccess与nginx用的规则是不同的。 当然,在第一步新建.htacess时,也可以用什么名字,那么在include时对应写正确就行了。

还有一点要注意的:重新加载nginx时,要注意观看是成功加载了,还是失败了。有提示的。
比如显示:[emerg]:unknow directive “…….. 这时就是你htaccess的内容 …….”,就表示加载失败,你加载的文件有问题了。

若显示:the configuration file …..你文件路径…….syntax is ok
configuration file …..总配置文件路径……. test is successful
Reloading nginx:
就表示加载成功了。


All times are GMT +8. The time now is 11:00 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.