modrewrite内部重定向将文件夹转换为查询字符串

时间:2017-02-27 13:59:53

标签: .htaccess redirect query-string

美好的一天。 我写了一个非常基本的重定向来处理URL中的查询字符串和foldernames。

实际上我的代码是这样的:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /product-detail\.html\?intid=([^&]+)&name=([^&\ ]+)
RewriteRule ^ /product-detail/%2/%3/? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?product-detail/([^/]+)/([^/]+)/?$ /product-detail.php?intid=$1&name=$2 [L]

看起来很简单,但是一旦我提出了如下请求:

http://www.xxxxxxxx.com/product-detail.html?intid=1234&name=pippo

我被重定向到:

http://www.xxxxxxxxxx.com/product-detail/1234/pippo/

这很好,但我也得到了这个错误:

The requested URL /product-detail/1234/pippo/ was not found on this server.

现在,第二条规则对我来说似乎是正确的,我真的不明白出了什么问题。

0 个答案:

没有答案