重定向旧子域到新的域别名为参数,URL
问题描述:
我成功重定向旧的子域新 这里就像是httpd.conf
重定向旧子域到新的域别名为参数,URL
<VirtualHost *:80>
ServerName abcd.com
ServerAlias *.abcd.com
RewriteEngine on
Redirect 301/http://pqr.com/
</VirtualHost>
链接:mumbai.abcd.com/venue/320089-girgaum-chowpatty
被重定向到http://pqr.com/venue/320089-girgaum-chowpatty
而是我想实现:http://pqr.com/mumbai/320089-girgaum-chowpatty
也只是mumbai.abcd.com
应该重定向到http://prq.com/mumbai
我想获取服务器别名并追加到新域的url中。我怎样才能做到这一点?
答
定义这些重定向的常见位置是在您的web根目录中的.htaccess
而不是httpd.conf
,因为它更加灵活并且不需要您重新启动apache。
所以我建议你从httpd.conf
删除这些行:
RewriteEngine on
Redirect 301/http://pqr.com/
,并创建一个.htaccess
文件在你旁边根index.php
这些内容:
RewriteEngine on
# Redirect mumbai.abcd.com to prq.com/mumbai
RewriteCond %{HTTP_HOST} ^mumbai\.abcd\.com$
RewriteRule ^$ http://prq.com/mumbai/ [L,R=301]
# Redirect mumbai.abcd.com/something/123456-foo to prq.com/mumbai/123456-foo
RewriteCond %{HTTP_HOST} ^mumbai\.abcd\.com$
RewriteRule ^(.+)/([^/]+)(/?)$ http://prq.com/mumbai/$2 [L,R=301]
如果mumbai.abcd.com
只是一个例子,你有更多的子域,请试试这个:
RewriteEngine on
# Redirect *.abcd.com to prq.com/*
RewriteCond %{HTTP_HOST} ^([^/.]+)\.abcd\.com$
RewriteRule ^$ http://prq.com/%1/ [L,R=301]
# Redirect *.abcd.com/something/123456-foo to prq.com/*/123456-foo
RewriteCond %{HTTP_HOST} ^([^/.]+)\.abcd\.com$
RewriteRule ^(.+)/([^/]+)(/?)$ http://prq.com/%1/$2 [L,R=301]
mod-rewrite呢? – heximal