【问题标题】:creating wildcard based subdomain [duplicate]创建基于通配符的子域
【发布时间】:2012-01-18 19:11:52
【问题描述】:

可能重复:
Apache rewrite based on subdomain

我遇到了一个无法解决的问题。请帮助我摆脱困境。

我的要求是: 我想在我的站点中将每个城市名称作为子域。说www.mysite.com,里面可以有www.delhi.mysite.com,www.bangalore.mysite.com。清单可能无穷无尽。我的问题是我不想为每个子域创建文件夹。我想在 URL 中将其作为查询字符串处理,例如 www.mysite.com?city=bangalore。这样我可以将请求重定向到单个文件。

我已经建立了 LAMP 架构。

在vhost文件中是

<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
ServerName www.mysite.com
DocumentRoot /var/www
</VirtualHost>

<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
ServerName *.mysite.com
DocumentRoot /var/www
</VirtualHost>

并且还更新了 .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mysite\.com [NC]
RewriteCond %{HTTP_HOST} ([^.]+)\.mysite\.com
RewriteRule ^(.*)$ http://www.mysite.com/index.html [R,L]

但我仍然收到 404 错误。

我的方法正确吗?可以实现吗??

请帮我做这件事。

【问题讨论】:

标签: virtual subdomain wildcard


【解决方案1】:

尝试以下方法:

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$
RewriteRule ^/(.*)$           http://www.domain.com/%1/$1 [L,R]

加上一条规则,不要将此应用于www 前缀。

还有下次,请使用搜索功能,这个之前已经问过了。

确保您已启用重写模块。尝试将语句放入您的虚拟主机配置中,而不是 .htaccess

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2012-11-14
    • 2017-01-05
    • 2012-12-23
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多