.htaccess删除URL扩展,添加尾随斜杠

我一直在试图让我的客户端的服务器上工作,我正在开发一个网站,但我根本无法得到它的工作。 基本上我试图删除.html扩展名,并添加一个结尾的斜杠(在URL栏中)。

所以如果有人input:

-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] 

我在服务器上托pipe的所有文件都是FILENAME.html的forms,位于根目录中。

所以,如果有人能帮助我,我会很感激。

修改.htaccess文件并插入以下内容

说明: http : //eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/

例:

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^([^/]+)/$ $1.html # Forces a trailing slash to be added RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ RewriteRule (.*)$ /$1/ [R=301,L] 

更新页面上的链接

然后,所有的超链接,CSS链接,图像等将需要更新为具有绝对URL( http://www.site.com/style.css )或相对,并以../开头。 否则,您将遇到诸如未加载的CSS,不工作的链接等问题。