您好!
我正在尝试为通配符子域设置我的.htaccess文件,但我真的不知道如何做到这一点。
我有“domain2”指向“domain1”作为别名,这是完美的,这是我正在使用的代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www)\.(.*)\.(.*)\.(.*) [NC]
RewriteRule ^(.*)$ http://%2.%3.%4/$1 [R=301,QSA,L]
RewriteCond %{HTTP_HOST} ^(.*\.?)domain2.co\.cc$ [NC]
RewriteRule (.*) http://%1domain1.co.cc/$1 [R=301,L]
我在这里找到了www重定向btw:Optimize htaccess Wildcard Subdomain Code
现在,我想要的是要删除的所有不存在的子域以及存在的子域(例如“blog.domain1.co.cc”)。
我希望有人可以帮助我。谢谢!
答案 0 :(得分:1)
RewriteEngine On
#no longer needed
#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#don't redirect blog.example.com, forum.example.com and example.com
RewriteCond %{HTTP_HOST} ^((blog|forum)\.)?example\.com$
RewriteRule .* - [L]
#redirect the rest (including www.) to example.com
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
答案 1 :(得分:0)
尝试将以下内容添加到htaccess文件中。
#if these lines already exist, skip them
RewriteEngine On
RewriteBase /
#if its not www or discussions subdomain
RewriteCond %{HTTP_HOST} !^(www|discussions)\.domain1\.co\.cc$ [NC]
#redirect to www domain
RewriteRule .* http://www.domain1.co.cc%{REQUEST_URI} [R=301,L]
对于以下问题
将子域和子目录重定向到其他域,就像这样:forum.old.com/thread/12038213 - > forum.new.com/thread/12038213
尝试
RewriteEngine On
RewriteBase /
#if domain is old.com
RewriteCond %{HTTP_HOST} ^(.+)\.old\.com$ [NC]
#redirect to new.com
RewriteRule .* http://%1.new.com%{REQUEST_URI} [L,R=301]