使用.index.html将所有网页请求指向/

时间:2011-05-24 17:18:43

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

我想将所有以index.html结尾的网址的请求定向到/。我在服务器上有一个域。

示例:

  • 如果有人想要“www.thissite.com/index.html--请直接访问www.thissite.com/。 和
  • 如果有人想要“www.thissite.com/anyword/index.html” - 请直接访问www.thissite.com/。 和
  • 如果有人想要“www.thissite.com/folderdoesntexistonthissite/index.html” - 请直接访问www.thissite.com /.

启用此功能的.htaccess代码是什么? (重写条件和重写条件)

这不能完成这项工作:

RewriteCond %{THE_REQUEST} index\.html [NC]
RewriteRule index\.html$ http://www.thissite.com/$1 [R=301.L]

2 个答案:

答案 0 :(得分:0)

你可以尝试这个(没有RewriteCond):

RewriteRule /index\.html$ http://www.thissite.com/ [R=301,NC,L]

可能错误是[R=301.L]中的句号。

答案 1 :(得分:0)

你需要使用%{REQUEST_URI}变量来匹配RewriteCond,否则Apache会在RewriteRule中删除/。在.htaccess文件中使用以下代码:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_URI} ^.*/index.html$ [NC]
RewriteRule . / [R=301,L]