将非www URL重定向到www URL以及其他规则

时间:2009-07-17 16:11:47

标签: regex apache mod-rewrite

将访问http://example.com的访问者重定向到http:// www .example.com的访问者并不是非常困难。但是如何与通过“RewriteRule”指示所有网页请求的index.php一起完成?

RewriteRule !\.(gif|jpg|png|css|js|php|ico|xml)$ /index.php

2 个答案:

答案 0 :(得分:5)

您只需确保导致外部重定向的那些规则出现在那些导致内部重写的规则之前。简单地说:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule !\.(gif|jpg|png|css|js|php|ico|xml)$ /index.php

答案 1 :(得分:1)

请参阅答案for this post,正好相反。

<VirtualHost *:80>
    ServerName example.com/
    RedirectPermanent / http://www.example.com/
</VirtualHost>