当前位置:首页 > Server > 正文内容

nginx支持.htaccess文件实现伪静态(url重写),解决不同网站静态规则重复问题

admin2017-03-14Server2699

在 利用apache伪静态规则重写lighttpd伪静态规则的方法 文中提到lighttpd伪静态规则不可以重复

假如您的规则最后如下:

url.rewrite = (
#zblog规则
"^(.*)/read/(.*).html$"=>"$1/index.php?id=$1",
#phpwind规则
"^(.*)/read/(.*).html$" => "$1/read.php?tid=$2&page=$3&fpage=$4"
)

这样是不可以的

因为重复了if

"^(.*)/read/(.*).html$"

所以会导致服务器无法重启

在nginx服务器上也是会遇到类似问题的。

您购买独立主机如果是nginx服务器,您可能不止开一个站,多个站的伪静态规则未必不会冲突。

所以在欢迎您继续收看友声网卡卡北的原创“软文”同时,也请您继续看下去,说不定能用上。

在 使用phpStudy套件,php-fastcgi模式下,nginx添加虚拟主机(多站点)配置 一文中讲道,在nginx下如何添加多站点。

那还是用此文中的phpstudy套件进行演示:

以链接:https://hi.ys166.com/read-573.html

代码下载:链接

分别在这两个站点中的

root   "D:/phpStudy/WWW";

root   "D:/phpStudy/WWW2";

下分别添加:

include D:/phpStudy/WWW/.htaccess;

include D:/phpStudy/WWW2/.htaccess;

同时在每个站点下添加:

location ~ /.ht {
            deny all;
        }

位置没有太大要求,我为了好截图,添加的比较靠上,这段代码就是过滤.ht开头的文件,防止.htaccess文件被下载。

全部改完后,保存重启。

改后如图:


效果演示:

127.0.0.1为phpwind9.0.1

127.0.0.2为discuz x3.3

这两个论坛程序默认规则是有重复的。分开写后就不会出现问题了。

其他链接:网易博客

打赏

扫描二维码推送至手机访问。

版权声明:本文由友声网博客发布,如需转载请注明出处。

本文链接:https://hi.ys166.com/t/575

标签: nginxhtaccess
分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。