Apache htaccess多次重写

时间:2011-07-08 01:36:17

标签: apache .htaccess redirect web webserver

我在Web服务器上的htaccess文件中写了重写问题。如果有人可以帮助我,那对我来说会非常有帮助。

我想要完成的是这两件事: 1.将所有请求重定向到http:// domain.com到http:// www.domain.com 2.重定向/删除URL中的index.html部分(如果存在)。

我目前的htaccess设置为:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{http_host} ^example.com [nc]
RewriteRule ^(.*)$ http ://www. example. com/$1 [R=301,NC]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
RewriteRule ^(.*)index\.html$ [b]http :// www. example. com[/b]/$1 [R=301,L]

当URL包含index.html时,它基本上会提供404页面。不确定重定向在哪里循环。有人想问一下这个问题是否有所了解?

提前致谢。

1 个答案:

答案 0 :(得分:1)

第一条规则已经过测试,第二条未经测试但工作。 :)

Options +FollowSymlinks
RewriteEngine on

# redirect domain.com to www.domain.com
RewriteCond %{HTTP_HOST} ^([a-z0-9\-]+)\.([a-z0-9\-]+)$ [NC]
RewriteRule ^/?(.*) http://www.%1.%2/$1 [R=301,L]

RewriteRule ^/?index\.html(\?.*)? /$1 [R=301]