我想让我的htaccess文件将除了/ images,/ css和/ javascripts之外的所有流量重定向到cgi-bin。
RewriteEngine on
RewriteCond %{REQUEST_URI} !^images/.*$
RewriteCond %{REQUEST_URI} !^css/.*$
RewriteCond %{REQUEST_URI} !^javascript/.*$
RewriteCond %{REQUEST_URI} !^cgi-bin/.*$
RewriteRule (.*) /cgi-bin/$1 [L]
我想要一个请求: example.com/index 来检索 example.com/cgi-bin/index
但我也想要一个请求: example.com/images/foo.png 来检索 example.com/images/foo.png
我的档案有什么问题?我一直收到此错误:由于可能的配置错误,请求超出了10个内部重定向的限制。
答案 0 :(得分:1)
您错过了所有/
中的前导RewriteConds
,这些都是必需的,但它们不应该用于.htaccess中的RewriteRule
,这会导致混淆。
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/images/ [NC]
RewriteCond %{REQUEST_URI} !^/css/ [NC]
RewriteCond %{REQUEST_URI} !^/javascript/ [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/ [NC]
RewriteRule (.*) /cgi-bin/$1 [L]
您也不需要.*$
,因此我将其删除以提高效率。