在托管服务器上遇到mod_rewrite问题

时间:2015-07-03 15:29:45

标签: apache .htaccess mod-rewrite

我最近做了一次完整的网站大修。该网站的内容比用户关心的更多,所以我们决定真正缩减。我正在尝试设置一些重写规则来捕获旧网站位置并将它们汇集到新网站上的正确位置,以避免一些不必要的404次点击。

除了一行之外,一切都很顺利。整个事情在我的本地主机上运行得很好,但当我将它移动到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]

两者在我的localhost上工作得很好,但是在同一个托管服务器上的dev和prod都会被忽略。知道如何解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我想出了解决这个问题的方法。显然这是一个常见的goddady问题,答案是将以下内容添加到我的重写上面的.htaccess文件中:

Options -Multiviews

我仍然不清楚为什么这会解决问题(我更多的是前端人员)以及为什么这只是一条规则的问题。因此,如果您偶然发现并知道原因,请随时评论我的答案。