我对.htaccess
相关内容不太熟悉,我希望得到一些帮助。基本上我要做的就是:
任何看起来像这样的请求(示例):
/foo.html
将改写为:
/foo
任何静态文件的请求,我都希望它服务:
/index.html
这有意义吗?知道怎么做吗?
到目前为止,这是我所拥有的,尽管据我所知,这是不正确的:
RewriteRule %{REQUEST_FILENAME} !-d
RewriteRule %{REQUEST_FILENAME} -f
RewriteCond ^(.*)$ $1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
答案 0 :(得分:1)
在将.html
文件添加到URI之前检查是否存在{/ 1}}文件:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_FILENAME}.html -f [NC]
RewriteRule ^(.*)$ $1.html [L]
RewriteRule . /index.html [L]