为什么我的htaccess规则不起作用

时间:2017-04-01 03:59:20

标签: php .htaccess

我创建了一个htaccess规则,但它不起作用。 这是我的网址

http://localhost/mat/site/brandlisting/21/page/2

这是我的htaccess规则

RewriteRule brandlisting/(.*)(.*)/page/(.*) site/brandlisting?id=$1&page=$2 [L]
RewriteRule brandlisting/(.*)(.*)/page site/brandlisting?id=$1&page=$2 [L]

RewriteRule brandlisting/(.*)/ site/brandlisting?id=$1 [L]
RewriteRule brandlisting/(.*) site/brandlisting?id=$1 [L]
RewriteRule site/brandlisting/(.*)/?$ site/brandlisting?id=$1 [L]

有什么不对吗? 在我的htaccess规则中有什么样的错误。

1 个答案:

答案 0 :(得分:0)

您正在使用通配符贪婪模式正则表达式匹配单击中的所有内容,使用以下规则我假设您在站点文件夹中使用.htaccess。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^brandlisting/([\d]+)/page/([\d]+)$ brandlisting?id=$1&page=$2 [L]
RewriteRule ^brandlisting/([\d]+)/?$ brandlisting?id=$1 [L]
RewriteRule ^site/brandlisting/([\d]+)/?$ brandlisting?id=$1 [L]