我一直在寻找互联网,试图找到解决这个问题的方法,但找不到明确的解决方案。
我正在尝试重定向重写
anything.domain.com/anypage.php?sub=anything&including=get_parameters
到
domain.com/users/anypage.php?sub=anything&including=get_parameters
我找到了几个可能解决方案的页面,但它们都与我的需求略有不同,编辑它们会不断失败。
非常感谢任何帮助。谢谢。
P.S Wildcard DNS已启用,所有内容都在apache中正确设置。
修改:
我最终使用了下面的内容,似乎工作得很好。感谢。
RewriteCond %{HTTP_HOST}
^(.*).domain.com RewriteCond
%{HTTP_HOST} !^www.domain.com [NC]
RewriteRule ^(.*)$
http://domain.com/users/$1?sub=%1 [P]
答案 0 :(得分:4)
在.htaccess文件中尝试此规则:
Options +FollowSymLinks
RewriteEngine on
# redirect for http
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^(.*)$ http://domain.com/users/$1?sub=%1 [R=301,QSA,L,NE]
# redirect for https
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://domain.com/users/$1?sub=%1 [R=301,QSA,L,NE]
R=301 will redirect with https status 301
L will make last rule
NE is for no escaping query string
QSA will append your existing query parameters
$1 is your REQUEST_URI