【发布时间】:2012-09-08 17:57:13
【问题描述】:
我怎样才能让我的服务器加载(不可见!)somepage.htm,当一个 url 在它前面有一个子域时,只使用 Apache 的 .htaccess ?
这样当用户输入subdomain.website.org 时,服务器就会加载website.org/somepage.htm
【问题讨论】:
标签: apache .htaccess url mod-rewrite subdomain
我怎样才能让我的服务器加载(不可见!)somepage.htm,当一个 url 在它前面有一个子域时,只使用 Apache 的 .htaccess ?
这样当用户输入subdomain.website.org 时,服务器就会加载website.org/somepage.htm
【问题讨论】:
标签: apache .htaccess url mod-rewrite subdomain
只要subdomain.website.org和website.org都指向同一个文件根目录的同一个服务器,就可以把这些规则放在htaccess文件中在文档根目录中:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?website.org$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.website.org$ [NC]
RewriteRule ^$ /%1.htm [L]
【讨论】:
([^.]+) 和%1 替换为子域的名称。如果您希望所有子域除了邮件和管理员在RewriteEngine On之后添加RewriteCond %{HTTP_HOST} !^mail\.mysite\.com$ [NC]和RewriteCond %{HTTP_HOST} !^admin\.mysite\.com$ [NC]