mod_rewrite all / something to index.html

时间:2016-06-14 04:08:11

标签: regex apache .htaccess mod-rewrite

我正在尝试重写以下模式的所有网址: http://example.com/csfdg/anything 进入http://example.com/csfdg/index.html

根级别的.htaccess文件包含:

Options +FollowSymLinks

RewriteEngine On
RewriteRule \/csfdg\/.* /csfdg/index.html [L]

http://htaccess.madewithlove.be/的检查员告诉我,它会按照我想要的方式重写我的网址,但是当我转到http://example.com/csfdg/anything时,我只得到404.很难说出发生了什么,但是我知道RewriteEngine正在工作,因为如果我把它搞得一团糟,我就会发生500错误:)

有什么想法?感谢

1 个答案:

答案 0 :(得分:3)

您可以使用:

RewriteEngine on
RewriteCond %{REQUEST_URI} !index\.html$
RewriteRule ^([^/]+)/.+$ /$1/index.html [L]

RewriteConditon在此非常重要,可以避免将 /foo/index.html 重写为自身。