.htaccess重定向请求不是index.php

时间:2010-01-05 23:37:39

标签: apache .htaccess mod-rewrite

我有一个像 http://www.example.com/reroute/index.php 这样的设置。 我想将所有请求发送到 index.php index.php 。因此, / reroute / products 的所有内容都将转到 /reroute/index.php ,并会向浏览器显示 http://www.example.com/reroute 。这看起来很简单,但我尝试过的每件事都告诉我文件不存在或者让我循环播放。

另外,在重新路由之前是否可以设置自定义标头?

Options +FollowSymLinks
IndexIgnore */*

# Turn on the RewriteEngine
RewriteEngine On

RewriteCond %{IS_SUBREQ} false
RewriteRule ^/index\.php$ http://www.example.com/reroute [R=301,L]

2 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteRule !^index\.php$ index.php [L]

这会将所有未请求 index.php 的请求重写到同一目录中的 index.php

答案 1 :(得分:0)

我是这样做的。

RewriteRule ^/reroute/products/$ reroute/index.html [QSA,L]

这几乎可以将所有内容发送到索引文件。