.htaccess重定向

时间:2011-01-31 17:54:48

标签: apache .htaccess redirect

我使用Apache和.htaccess文件来设置一些重定向。有没有办法将域名中的所有内容重定向到域名除域以外的域名索引?

http://domain.com/*重定向到http://sub.domain.com/*

但请http://domain.com/离开吗?

如果有人能够提供帮助,请提前致谢!

3 个答案:

答案 0 :(得分:1)

单次重写规则:

# Rewrite if on main domain AND NOT requesting index
RewriteCond %{HTTP_HOST} ^domain[.]com$ [NC]
RewriteCond %{REQUEST_URI} !^(/(index[.](html|php))?)?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://sub.%1$1 [R=301,QSA,L]

答案 1 :(得分:0)

# Check for non-empty request URI
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .* http://sub.domain.com%1 [L,R=301]

答案 2 :(得分:0)

您可能希望在主域上允许默认的html或php。在这种情况下,以下一对规则应该有效。测试并确认。

# Skip the rewrite for the root of domain.com
RewriteCond %{HTTP_HOST} ^domain[.]com$ [NC]
RewriteCond %{REQUEST_URI} ^(/(index[.](html|php))?)?$
RewriteRule ^(.*)$ - [L]

# Rewrite everything else 
RewriteCond %{HTTP_HOST} ^(domain[.]com)$ [NC]
RewriteRule ^(.*)$ http://sub.%1$1 [R=301,QSA,L]