0

在我的 .htaccess 文件中,这段代码运行良好:

RewriteCond %{HTTP_HOST} ^(.+).mydomain.com$    
RewriteRule ^(.*)$ http://mydomain.com/profile.php?username=%1 [R,L]

例如,当我写这个 URL 时:

http://XXX.mydomain.com

它重定向到:

http://mydomain.com/profile.php?username=XXX

但问题是我只是想要相反的:

当我写 URL 时:

http://www.mydomain.com/profile.php?username=XXX

我想要重定向到:

http://XXX.mydomain.com

我尝试了所有的可能性,但没有任何效果。

有人可以帮帮我吗?

4

1 回答 1

0

尝试这个

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteRule ^.*$ http://www.mydomain.com/profile.php?username=%1 [L]

好的,www现在已成为可选。

编辑:也重定向sub.domain.com/someother/page.php

RewriteCond %{HTTP_HOST} !^(www\.)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteRule ^(profile\.php)?$ http://www.mydomain.com/profile.php?username=%1 [L]
RewriteRule ^(.+)$ http://www.mydomain.com/$1 [L]

这将重定向

eli.mydomain.com => http://www.mydomain.com/profile.php?username=eli
eli.mydomain.com/profile.php => http://www.mydomain.com/profile.php?username=eli

eli.mydomain.com/contactus.php => http://www.mydomain.com/contactus.php
eli.mydomain.com/help/search.php?q=faq => http://www.mydomain.com/help/search.php?q=faq
于 2013-05-19T14:51:46.910 回答