我的.htaccess
文件中有两个规则用于重写网址:
进行子域名重写:xxx.domain.com
内部重定向到file.php?item=xxx
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.domain\.com$ [NC]
RewriteRule ^$ /file.php?item=%2 [QSA,nc]
普通改写:
RewriteRule ^([A-Za-z0-9_)(:!-',]+)/?$ file.php?item=$1 [L]
我需要实现的是编写第三条规则,将这两条规则结合起来而不与它们发生冲突。也就是说,在这些行的下方(或上方)我需要有类似的东西:
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.domain\.com/([A-Za-z0-9_)(:!-',]+)$ [NC]
RewriteRule ^$ /anotherfile.php?item1=%2&item2=$1 [QSA,nc]
以便将http://xxx.domain.com/yyy重定向到anotherfile.php?item1 = xxx& item2 = yyy
任何可行的想法,或者它的正确方法是什么?
答案 0 :(得分:0)
尝试此规则:
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.example\.com$ [NC]
RewriteRule ^([A-Za-z0-9_)(:!-',]+)/?$ /file.php?item1=%2&item2=$1 [QSA]
它使用第一个规则的条件和第二个规则的URL路径模式。