2

我在我的计算机上使用 WAMP,在编写我的网站时,我决定删除 .html 扩展名,以期改善美观。

这很好用,所以,就我而言, temp.jakegriffin.co.uk/index.html 变成了 /index ,这正是我想要的。不幸的是,如果有一个尾随 / 在索引之后,我会得到:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete     your request.

Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

当我尝试在 .htaccess 文件中修复此问题时,我会收到错误 403(如果我被禁止)或错误 404(如果页面不存在)。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

那是我的 .htaccess 文件中用于删除扩展名的代码。如果有人可以帮助我,将不胜感激。

提前感谢,杰克。

4

2 回答 2

0

尝试这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)[\/*]$ $1.html [L,NC]

index现在您可以在;)之后添加一堆正斜杠 (/ )

于 2012-10-06T21:54:48.127 回答
0

这个 mod_rewrite 规则:

 * http://planetozh.com/blog/2004/05/apache-and-the-trailing-slash-problem/

    RewriteEngine  on
    RewriteBase    /
    RewriteCond    %{REQUEST_FILENAME}  -d
    RewriteRule    ^(.+[^/])$ $1/
于 2012-10-06T21:44:54.133 回答