我使用Apache和.htaccess文件来设置一些重定向。有没有办法将域名中的所有内容重定向到域名除域以外的域名索引?
将http://domain.com/*
重定向到http://sub.domain.com/*
但请http://domain.com/
离开吗?
如果有人能够提供帮助,请提前致谢!
答案 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]