URL重写和htaccess文件

时间:2014-01-29 13:05:06

标签: regex apache .htaccess mod-rewrite url-rewriting

希望有人可以提供帮助。我使用nibbler查看我的网站以确保其运行良好,其中一个类别是URL FORMAT

  

尽可能避免使用文件扩展名。将URL重写视为有效   和透明的方法来创建适当的URL。

无论如何,我使用Dreamweaver创建和编辑网站,如果我将其转换为使用目录中的index.htm文件(这可以解决这个问题),那么这似乎会让生活变得复杂。

我是否可以在.htaccess文件中执行一些 MAGIC ,这意味着我仍然可以将其作为.htm上传,并且它会在后台执行一些很酷的操作并更好地显示它们。

例如我想要

http://www.beingchildren.org/Children-Charity-Blog.htm

成为

http://www.beingchildren.org/Children-Charity-Blog

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.htm[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.htm -f
RewriteRule ^(.+?)/?$ /$1.htm [L]