htaccess重定向 - 重定向太多

时间:2017-08-31 15:58:34

标签: apache .htaccess mod-rewrite

我需要重写

  

www.domain.co.uk/store?cat=57

  

www.domain.co.uk/store/57

但我不断收到“太多重定向”错误。我的htaccess中有以下内容:

RewriteCond %{QUERY_STRING} ^cat=([^./]*)$
RewriteRule ^store\.php$ /store/%1? [R=301,L] 
RewriteRule ^store/([^./]+)$ store.php?cat=$1 [L]

如果我注释掉底线,重定向会起作用,但这会阻止我的页面正确加载。

有什么想法吗?

谢谢,

克里斯

1 个答案:

答案 0 :(得分:2)

您可以使用:

Options -MultiViews
RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+store\?cat=([^\s&]+) [NC]
RewriteRule ^ /store/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^store/([^./]+)/?$ store?cat=$1 [L,QSA,NC]