我需要编写优化的.htaccess规则。我写的那样,他们正在工作
RewriteEngine on
RewriteRule ^city1-name-in-url/$ products.php?city=city1-name-in-url
RewriteRule ^city2-name-in-url/$ products.php?city=city2-name-in-url
RewriteRule ^city3-name-in-url/$ products.php?city=city3-name-in-url
RewriteRule ^city4-name-in-url/$ products.php?city=city4-name-in-url
这些规则的网址为http://www.domain.com/global/city1-name-in-url/
我必须为800个城市编写这些规则,这使得网站变得缓慢。我想知道是否有任何方式获取部分网址并在RewriteRule
例如
如果网址为:http://www.domain.com/global/any-city-name/
RewriteRule ^any-city-name/$ products.php?city=any-city-name
这可能吗?在global
之后获取url的一部分,然后在重写规则中使用它
由于
答案 0 :(得分:2)
您可以在/global/.htaccess
:
RewriteEngine On
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)/?$ products.php?city=$1 [L,QSA]
[\w-]+
匹配1个或多个[a-zA-Z0-9_-]
个字符。