如何让我的htaccess文件重写所有流量到cgi-bin

时间:2012-01-14 00:09:37

标签: .htaccess

我想让我的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个内部重定向的限制。

1 个答案:

答案 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]

您也不需要.*$,因此我将其删除以提高效率。