【发布时间】:2012-04-15 08:36:02
【问题描述】:
我一直试图让它在我正在开发的网站的客户服务器上工作,但我根本无法让它工作。基本上我正在尝试删除 .html 扩展名,并添加一个斜杠(在 URL 栏中)。
所以如果有人进入:
-example.com/home/ ----------- 转到 ----- example.com/home/
-example.com/home ------------ 转到 ----- example.com/home/
-example.com/home.html ------ 转到 ----- example.com/home/
-example.com/home.html/ ----- 转到 ----- example.com/home/
-example.com/home/.html ----- 转到 ----- example.com/home/
-example.com/home/.html/ ---- 转到 ----- example.com/home/
到目前为止,这是我的 .htaccess,它可以完美运行,并且可以完成我想做的所有事情,除了在末尾添加斜杠。
代码如下:
#force www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*) http://www.%{HTTP_HOST}/1 [R=301,L]
# remove .html ONLY if requested directly
RewriteCond %{THE_REQUEST} (\.html\sHTTP/1)
RewriteRule ^(.+)\.html /1 [R=301,L,QSA]
# remove trailing slash ONLY if it is not an existing folder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/ /1 [L,R=301]
# rewrite to FILENAME.html if such file does exist and is not a folder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*) /1.html [L,QSA]
我在服务器上托管的所有文件都是 FILENAME.html 的形式,并且位于根目录中。
所以,如果有人能帮助我,我将不胜感激。
【问题讨论】: