【问题标题】:Handling wild card subdomains with Apache, excluding www, including SEF使用 Apache 处理通配符子域,不包括 www,包括 SEF
【发布时间】:2009-10-07 14:10:46
【问题描述】:
处理通配符子域的问题有一个答案,但它不能满足我的所有需求。我需要做所有这些,例如假设域是 example.com:
如果给定的域是 www.example.com 它应该 301 重定向到 example.com 因为我不希望有重复的内容会创建搜索引擎的问题。
如果域是 anythingelse.example.com,它应该静默重定向到 example.com,以便软件可以获取所请求的子域并采取相应措施.
1234563 )。所以 anything.example.com/some/search/engine/friendly/specification 应该重定向到 example.com/index.php。
我可以让其中的一部分工作,但还没有完成整个事情。任何优惠!
【问题讨论】:
标签:
apache
mod-rewrite
uri
【解决方案1】:
试试这些规则:
# 1. rule
RewriteCond %{HTTP_HOST} =www.example.com
RewriteCond %{HTTPS} ^on(s)|
RewriteRule ^ http%1://example.com%{REQUEST_URI} [L,R=301]
# 2. rule
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteRule ^ /absolute/filesystem/path/to/example.com%{REQUEST_FILENAME} [L]
# 3. rule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]