将所有请求重定向到子文件夹.htaccess

时间:2014-04-22 13:02:39

标签: regex apache .htaccess mod-rewrite rewrite

这就是我目前所拥有的

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [L]

所以对不存在的文件的所有请求都以index.html文件结束。但我只希望这种情况发生在顶级请求中,例如" http://example.com/abc"或" http://example.com/abc/"。

用于http://example.com/abc/defhttp://example.com/abc/def/cge等请求。我想抛出404错误。

编辑:请求的路径" / abc / def"可能是任何事情

1 个答案:

答案 0 :(得分:0)

只需稍微调整你的URI匹配正则表达式:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^/]+/?$ index.html [L]