我有以下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)
我怎样才能使这个工作的汽车品牌网页?
如果你不介意"model"为空,你可以试试:
RewriteRule ^cars/([^/]+)(?:/([^/]+|)$ carbrands?brand=$1&model=$2 [L]
或者,你需要两个规则:
RewriteRule ^cars/([^/]+)/([^/]+)$ carbrands?brand=$1&model=$2 [L]
RewriteRule ^cars/([^/]+)$ carbrands?brand=$1 [L]