快速htaccess问题
我正在更改与网站相关联的域名,并想知道我是否可以设置htaccess以进行以下类型的重定向:
重定向 http://www.oldomain.com/contact-us
以 http://www.newdomain.com/contact-us
基本上是一个全局重定向,它重定向到新域,但保留用户键入的其余URL。
更新 我最终使用以下代码,它完美地运行
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
答案 0 :(得分:3)
当然,您可以轻松完成此操作,而无需使用神秘的RewriteEngine命令。 (RewriteEngine有它的位置,但对于像这样简单的东西肯定不需要它。)
Redirect permanent / http://newdomain.com/
Redirect指令会自动保留在指示重定向的路径部分之后的任何内容。 documentation for the Redirect directive通过一个示例解释了这一点:
示例:
Redirect /service http://foo2.bar.com/service
如果客户请求
http://myserver/service/foo.txt
,系统会告知其访问http://foo2.bar.com/service/foo.txt
。
答案 1 :(得分:2)
这应该为你做。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldname\.com
RewriteCond %{REQUEST_URI} ^oldname\.com
RewriteRule ^(.*)$ http://www.newname.com/$1 [R=301,QSA,L]
答案 2 :(得分:1)
Batfan,
如果您控制自己的httpd,也许可以在httpd.conf中查看NameVirtualHost指令的设置。见http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost
默认情况下,httpd未配置为执行基于名称的虚拟主机。您需要通过NameVirtualHost启用它。之后,尝试按照Greg Hewgill的建议进行重定向。
如果有效,请告诉我们。
谢谢, Ismael Casimpan