在我将我的网站写成.php之前,我可以轻松地删除.php并在没有输入.php的情况下连接到页面,但现在我得到了一个写为.html的新页面,我想做同样的事情。我花了一些时间来找到.htaccess的工作代码,但遗憾的是有一个问题。所有页面都可以正常工作,但是当我尝试访问我的帮助页面时,我得到了错误301 - 禁止访问"出于某种原因。
例如我输入: example.com/help(original example.com/help.html) 但它的作用是什么: example.com/help/并给我301错误。
这是我的.htaccess:
Options -Indexes
ErrorDocument 404 http://example.com/404.html
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteCond %{httpS} off
RewriteRule (.*) https://%{http_HOST}%{REQUEST_URI}
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
所以我不确定如何解决这个问题(如果可能的话),所以如果有人对如何修复它有任何想法请告诉我。如果由于某种原因不可能有任何其他页面,这不会起作用吗?我还在网站上工作,所以我可以将帮助页面重命名为helpcenter或类似的东西,但我不确定是否会影响其他任何文件。
感谢您的帮助!
答案 0 :(得分:0)
现在,Apache2已经通过+MultiViews
选项支持扩展屏蔽了一段时间。根据我的经验,它比自定义重写规则更容易实现。
但是,如果您开始使用重写,请确保您没有help
目录。如果里面没有index.html文件,-Indexes
会给它401。