.htaccess rewriterule无效

时间:2018-01-07 07:23:12

标签: php .htaccess redirect

我创建了一个.htaccess重新创建,但它没有做任何事情。

规则是:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /showproduct.php?get-uid=$1&prod=$2 [L]

我想要发生的是以下网址:

http://naturesgifts.co.nz/showproduct.php?get-uid=8&prod=whitesagespray

更改为:

http://naturesgifts.co.nz/8/whitesagespray.html

但是没有重定向。

请帮忙。

1 个答案:

答案 0 :(得分:0)

RewriteCond %{QUERY_STRING} get-uid=([^&]+)&prod=([^&]+)
RewriteRule ^showproduct.php$ /%1/%2.html? [R=301,L]

第1行:检查查询字符串是否包含参数get-uid,参数prod[^&]是否匹配除&字符以外的任何字符

第2行:如果请求uri与showproduct.php完全匹配,则永久重定向到/%1/%2.html%1是对第一个捕获组([^&])的反向引用,而%2与第二个捕获组匹配。 [R=301]标记使其永久重定向。