我为通配符子域访问做了重写规则,允许我访问列表页面的任何国家/地区,如下所示:
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.net$
RewriteCond %{HTTP_HOST} !^www\.mydomain\.net$
RewriteCond %{REQUEST_URI} !^.*\.(jpe?g|png|gif|bmp)$ [NC]
RewriteRule (.*) pages/list.php?country=%1 [L]
这很好用。
现在。我做了一个重写规则来访问域上的另一个页面,但我不断被引回到列表页面。
RewriteRule ^ad/([A-Za-z0-9-]+)?$ pages/details.php?alias=$1 [NC,L]
我的最终结果是访问例如:http://us.mydomain.net/ad/alias,但它一直将我引回到列表页面。
更新的重写规则(截至5月14日)
RewriteEngine on
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
RewriteRule ^cat/([A-Za-z0-9-]+)/?$ ?category=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^(.+)\.ibizportal\.net$
RewriteCond %{HTTP_HOST} !^www\.ibizportal\.net$
RewriteCond %{REQUEST_URI} !^.*\.(jpe?g|png|gif|bmp)$ [NC]
RewriteRule (.*) pages/list.php?country=%1 [L]
答案 0 :(得分:0)
将第一条规则更改为:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^cat/([A-Za-z0-9-]+)/?$ ?category=$1 [L,QSA,NC]
RewriteCond %{HTTP_HOST} ^((?!www).+)\.mydomain\.net$ [NC]
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|png|gif|bmp|php)$ [NC]
RewriteRule (.+) pages/list.php?country=%1 [L,QSA]