我有以下htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^archive/([^/]+)$ news?url=$1
RewriteRule ^cars/([^/]+)$ carbrands?brand=$1
这很好但现在我想在最后一条规则中添加一些内容,以便它可以使用一个和两个变量。
我尝试通过将最后一条规则修改为:
来实现此目的RewriteRule ^cars/([^/]+)/([^/]+)$ carbrands?brand=$1&model=$2
所以代码必须工作才能打开关于汽车品牌的页面,但是当我尝试访问该汽车品牌的汽车模型页面时它也应该工作。例子:
example.com/cars/bmw(.php)
example.com/cars/bmw/3-series(.php)
我修改的规则仅适用于:
example.com/cars/bmw/3-series(.php)
我如何才能为汽车品牌网页做这项工作?
答案 0 :(得分:1)
如果您不介意将“模型”留空,可以尝试:
RewriteRule ^cars/([^/]+)(?:/([^/]+|)$ carbrands?brand=$1&model=$2 [L]
或者,您需要两条规则:
RewriteRule ^cars/([^/]+)/([^/]+)$ carbrands?brand=$1&model=$2 [L]
RewriteRule ^cars/([^/]+)$ carbrands?brand=$1 [L]
每个参数数量一个。