【发布时间】:2012-01-18 11:33:33
【问题描述】:
我已经在 Google 上搜索了几天,现在试图找到解决我的问题的方法,修补代码段无济于事。没有任何效果。我只想从我的 URL 中删除文件扩展名 .shtml 但没有任何效果。我已经确保文件正在更新,并且我的网站没有从缓存中加载以及所有这些恶意。有人能告诉我哪里出错了吗?
我唯一能想到的是我的虚拟主机 (Hostgator) 没有启用 Apache mod_rewrite?
RewriteEngine On
#Remove file extensions
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.shtml -f
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.shtml [L]
#Add trailing slash
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mythofechelon.co.uk/$1/ [L,R=301]
我们将不胜感激。
【问题讨论】:
-
首先要确保您的 .htaccess 正在被读取。放一些垃圾文本,看看你是否在浏览器中收到 500 错误。
-
我的问题中的块只是文件的一部分。其他组件(例如,DirectoryIndex 和 ErrorDocument)工作正常。
-
但我还是这样做了,是的,我收到了 500 内部服务器错误。
标签: apache file .htaccess webserver