【发布时间】:2019-02-12 06:03:16
【问题描述】:
我想要一个相当简单的功能,当有人输入 www 时,我希望我的网站能够正常工作。在我的域名之前。我的偏好是将所有http://www. 请求重定向到http://,而不需要任何复杂的操作。
我已经尝试了两种方法,但都没有理想的效果。第一个选项是在站点的.htaccess 中简单地添加以下重写引擎命令(作为记录,我确认它正在工作)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
我尝试了该代码的多种变体,但它们都没有做任何事情。即使重置了我的浏览器缓存,通过 Tor 访问,如果我以 www. 前缀进入我的网站,那么它根本不会加载,并且 Firefox 给我一个“找不到服务器”错误。
我尝试的第二件事是删除所有重写代码并简单地添加 DNS 记录 A,主机 www 指向我的 IP 地址。稍等片刻后,该网站正在运行!但是,它非常不一致,因为如果我要访问www.example.com,那么它会删除www.,但是如果我访问www.example.com/page.html,它就不会删除它(但它仍然可以工作)。另一个奇怪的问题是,如果我输入www.example.com/folder/page,它会将我发送到www.example.comfolder/page。
有没有人对我应该做什么或我可能做错什么有任何建议?
【问题讨论】:
-
对于更简单的重定向需求,请查看
mod_alias及其Rewrite指令,这比mod_rewrite简单得多,如果可能的话,您应该尝试使用主要的Apache 配置文件而不是.htaccess,特别适合重定向需求。
标签: html apache .htaccess redirect