如何在htaccess中使用rewriterrule



我试图将一些url重定向到漂亮的url,问题是我是新的,所以我似乎无法弄清楚我做错了什么部分这是现在的htaccess,但是重写规则不起作用。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([.]+)/([.]+)$ index.php?search_categories%5B%5D=$1&search_location=$2 [QSA,L]
RewriteRule . /index.php [L] 
</IfModule>
# END WordPress

试试这个规则:

RewriteRule ^(.+[^/])/(.+)$ index.php?search_categories=$1&search_location=$2 [QSA,L]

在你的规则中,你有:search_categories%5B%5D,可能是一个错误,而复制/粘贴我删除了%5B%5D,即使这不是问题

^(.+[^/])/(.+)$匹配category/location规则[^/]不匹配斜杠/

编辑:

也可以简化为:^([^/]*)/(.*)$

在你的代码[.]+中,点匹配Any single character,但括号用于范围,如[abc]将匹配a, b或c,所以它不适用于[.]+,也像我之前写的那样,你必须不匹配斜杠与[^/]这最后一个必须在括号内,更多在这里和小抄

测试在这里

最新更新