我正在寻找一种将整个网站重定向到一个域的方法。我想在httpd.conf文件中执行此操作。例如,VirtualHost我看起来像:
<VirtualHost xx.xx.xx.xx>
ServerName website.com
ServerAdmin webmaster@website.com
ScriptAlias /cgi-bin/ /usr/local/apache2/htdocs/cgi-bin/
DocumentRoot /usr/local/apache2/htdocs/website
CustomLog logs/website/access_log combined
ErrorLog logs/website/error_log
Redirect / http://newwebiste.com
Redirect /xxx http://newwebiste.com
</VirtualHost>
目前,上面的重定向仍保留完整的网址。
因此,如果我想http://webiste.com/test/thispage.html,我会重定向到http://newwebsite.com/test/thispage.html。我只是想让它去newwebsite.com而失去其余部分。
所以..
http://webiste.com/test/thispage.html
到
我需要添加到httpd.conf来实现这个目标吗?
谢谢,
答案 0 :(得分:3)
正如您所注意到Redirect捕获所有并将相同的URI发送到您不想要的目标,因此您将使用RedirectMatch来匹配所有可能的请求,但不向目标URL添加任何内容。
所以你可以使用:
RedirectMatch ^ http://newsite.example.com/
作为关于mod_rewrite的旁注: 我当然不推荐其他人推荐的mod_rewrite,除非你真的有一个任务需要mod_rewrite可以提供的复杂性,而事实并非如此。
附注2: 例如,最好使用“example.com”域名,因为它不是有效域,并且为了示例目的而永久保留。
答案 1 :(得分:0)
删除
Redirect / http://newwebiste.com
Redirect /xxx http://newwebiste.com
并添加
RewriteRule ^ http://newwebsite.com [L,R=301]