我正在尝试编写一个类似于:
的重写规则www.sitename.com/products.php?p=product&c=category
应该成为
www.sitename.com/product/category
我尝试过以下方法,但我的RegEx知识远非理想,以下内容不起作用
RewriteRule ^(.*)/(.*)$ products.php?p=$1&c=$2 [QSA,L]
非常感谢任何帮助!
答案 0 :(得分:1)
尝试将(.*)
替换为([^/]+)
答案 1 :(得分:1)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/([\w-]+)/?$ products.php?p=$1&c=$2 [QSA,L]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)\.html$ $1.php [NC,L]
答案 2 :(得分:0)
尝试这样的事情:
RewriteRule www.sitename.com/(.*)/(.*) $products.php?p=$1&c=$2 [QSA,L]
您可以在this site中测试重写规则。