在我的.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
我尝试了所有的可能性,但没有任何效果。
有人可以帮帮我吗?
答案 0 :(得分: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