是否可以使用htaccess从一个域重定向到另一个域?
RewriteRule http://www.google.com/old-route http://www.google.com/new-route [R=301,L]
RewriteRule https://www.google.com/old-route https://www.google.com/new-route [R=301,L]
如果没有,您将如何在一个项目上重定向多个域?
答案 0 :(得分:2)
这可以通过使用rewriteConditions来实现:https://wiki.apache.org/httpd/RewriteCond
有些事情:
RewriteCond %{HTTP_HOST} ^site1
RewriteRule ^old-route$ https://www.site1alt.com/new-route [R=301,L]
答案 1 :(得分:2)
对于一个域使用。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.google\.com/old-route$ [NC]
RewriteRule ^(.*)$ http://www.google.com/new-route [R=301,L]
为了重定向你可以使用的所有内容。
Redirect 301 / http://www.google.com/new-route
答案 2 :(得分:0)
给定https://www.example.com/foobar和其他答案中使用的单个data.sql
只寻找%{HTTP_HOST}
,而不考虑以下路径。因此,这些答案对我不起作用。也许在Apache版本期间发生了一些变化。对我有用的是将www.example.com
和%{HTTP_HOST}
连接起来进行检查。
%{REQUEST_URI}
看看这个不错的Mod_Rewrite Variables Cheatsheet,以获取许多可用的mod_rewrite变量的概述。