【发布时间】:2014-02-07 17:42:39
【问题描述】:
我下午大部分时间都在谷歌上搜索这个,但似乎根本无法让它工作(我对 htaccess 有点生疏!)
基本上我有一个网站,每个注册的用户都有一个子域(例如 userA.example.com、userB.example.com)
我一直在使用 php 脚本来注册这些子域,但现在有超过 500(!) 个子域,我正在移动到一个新服务器,并认为我可以实现一个新系统。
我基本上希望附加到域的任何子域指向单个文件夹并将原始 url 保留在浏览器的地址栏中,这样我就不必使用服务器资源为每个用户注册一个新的子域!
我已经设置了所需的通配符 DNS。
我正在使用以下代码执行重定向,但地址仍然更改:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.XXXX\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.XXXX\.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^(.*)$ http://XXXX.com/frontend/ [L,NC]
这确实可以很好地重定向,但我无法找到一种方法来保留带有子域的原始 URL。
感谢您的帮助
【问题讨论】:
-
应该指向
/frontend/username或/username? -
@JustinIurman 只是指向 /frontend/ php 从 URL 的子域部分抓取用户名
-
如果你只给出一个相对的重写路径而不是一个绝对的 URL,这难道不能正常工作吗……?
标签: apache .htaccess mod-rewrite redirect