与主机服务器上的mod_rewrite发生故障
问题描述:
我最近做了一次完整的网站大修。该网站拥有比用户所关心的内容更多的内容,所以我们决定真正缩减。我试图设置一些重写规则来抓取旧网站的位置,并将它们汇集到新网站上的正确位置,以避免一些不必要的404次访问。与主机服务器上的mod_rewrite发生故障
除了一条线以外,一切都很顺利。整个事情在我的本地主机上效果很好,但是当我将它移动到dev或prod时,一行不起作用。
这里是我的.htaccess文件:
ErrorDocument 404 /404.html
RewriteEngine on
RewriteRule "^events/(.*)" "/#concert-section" [R,L,NE]
RewriteRule "^(.*)/purchase-brents-recordings" "/#purchase-section" [R,L,NE]
RewriteRule "^Bio\.html$" "/#about-section" [R,L,NE]
RewriteRule "^m$" "/" [R,L,NE]
RewriteRule "^(.*)/contact-brent" "/#contact-section" [R,L,NE]
一切正常,除了 '事件' 线。我想这也:
RewriteRule "^events/(.*)$" "/#concert-section" [R,L,NE]
两个工作就好在我的本地,但两者都在开发和生产线这是相同的托管服务器上被忽略。任何想法如何解决这个问题?
在此先感谢!
答
我想出了这个问题的解决方法。显然,这是一种常见的goddady问题和答案是下面添加到我的.htaccess文件我上面的重写:
Options -Multiviews
我,为什么这样可以解决问题还不清楚(我更多的是正面的 - 人),为什么这只是一个规则的问题。所以,如果你偶然发现并了解原因,请随时评论我的答案。