所有重定向到无限循环

时间:2014-04-25 19:51:21

标签: php .htaccess mod-rewrite redirect infinite-loop

我想重定向所有请求,除了.html .js .jpg等...例如www.mydomain.com/products应该转到/index.php?p=cats&s=cars但www.mydomain。 com / myproduct.html应该访问www.mydomain.com/index.php?p=prod&s=myprod

我的所有重定向都运行良好,但有一个问题。如果我请求没有查询字符串,它将落入不定式循环 我的代码在这里。对于不定式循环有什么解决方案吗?

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond $1 !\.
RewriteRule ^(.*) index.php?p=cats&s=$1

RewriteRule ^(.*).html$ index.php?p=prod-detail&p=$1

1 个答案:

答案 0 :(得分:0)

以这种方式使用:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+?)/?$ index.php?p=cats&s=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)\.html$ index.php?p=prod-detail&p=$1 [L,QSA]