mod_rewrite问题与GET参数

时间:2016-11-24 14:36:05

标签: php regex apache .htaccess mod-rewrite

我正在修改Apache .htaccess文件以重写产品' URL,所以我可以从这个

domain.com/section/products/product.php?url=some-product-name

到这个

domain.com/section/products/some-product-name

这是我正在使用的mod_rewrite代码:

Options -Indexes
Options +FollowSymlinks
Options -MultiViews
RewriteEngine on
RewriteBase /

RewriteRule ^section/products/(.*)$ /section/products/product.php?url=$1 [QSA,L]

它只返回500服务器错误。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

这是因为你的重写规则是无限循环的。这是因为section/products/(.*)模式匹配原始和重写的URI。

您可以使用它来修复它:

Options +FollowSymlinks -Indexes -MultiViews
Options -MultiViews
RewriteEngine on
RewriteBase /

RewriteRule ^(section/products)/([\w-]+)$ $1/product.php?url=$2 [QSA,L,NC]