目前我有一个页面位于:
http://www.example.com/site/page
在我的htaccess中,我有现行规则:
RewriteRule ^site/(.*)$ retailer.php?linklabel=$1 [QSA]
将该网页的网址变为自己的子网域,规则是什么样的:
http://page.example.com
感谢您的帮助!!
到目前为止,我已尝试过以下无效的规则:
RewriteRule http://(.*)$.example.com retailer.php?linklabel=$1 [QSA]
也许我需要先在cpanel上做一些关于通配符子域的事情?我不太确定......
答案 0 :(得分:1)
尝试:
RewriteCond %{HTTP_HOST} !^www.[NC]
RewriteCond %{HTTP_HOST} ^(.+?)\.example.com$ [NC]
RewriteRule ^$ retailer.php?linklabel=%1 [L,QSA]
您无法与RewriteRule
中的主机匹配,因此您需要针对%{HTTP_HOST}
中的RewriteCond
var进行匹配,然后使用 { {1}} 反向引用以获得该匹配。
目前这只会匹配正是%1
的URI。因此,除非您将常规快递从/
更改为http://page.example.com/something
,否则它将与^$
不匹配。
答案 1 :(得分:1)
试试这个:
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$ [NC]
RewriteRule .* retailer.php?linklabel=%1 [L,QSA]