美好的一天。 我写了一个非常基本的重定向来处理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.
现在,第二条规则对我来说似乎是正确的,我真的不明白出了什么问题。