我正在尝试对所有文件进行“简单”重写,这样您就不必在网址末尾找到.html的链接。我有一个几乎完全有效的代码,除了它重写所有文件,然后搞砸了我的index.html文件,这是一个很大的问题。这是我正在使用的代码:
Options FollowSymLinks
DirectorySlash Off
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.html
我想我只需要一个让它忽略index.html的代码,所以我尝试了这个,这给了我索引页面上的错误403和每个其他页面上的错误500:
RewriteRule ^index.html$ $0 [L]
但我想最后,我不完全确定我在做什么,我不知道在哪里放置代码行,我不知道它是否完全正确。
我尝试过的ORIGINAL代码就是这样,但是每个页面都给出了403错误:
Options FollowSymLinks
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.html
我做错了什么?
答案 0 :(得分:0)
试试这段代码:
Options FollowSymLinks
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$1.html -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f [OR]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^((?!index).+?)/?$ $1.html [L,NC]