0

.htaccess是否可以使用例如用户输入 url来发出重定向:

http://demo.mysite.com

但实际显示的内容位于:

http://mysite.com/users/demo/

看过这里的其他问题,但他们似乎走了另一条路。

目标是为用户提供最简单的 URL 来共享他们的网站。

或者我应该简单地设置一个 PHP URL 阅读器,当用户输入该 URL(或任何虚假子域)时移动用户

更新尝试了以下两种方法,但均无效:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.mysite\.com$
RewriteRule (.*) http://mysite.com/users/%1$1 [L,R=301]

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.mysite\.com
RewriteRule ^(.*)$ http://mysite.com/users/%1/$1 [L,NC,QSA]
4

3 回答 3

2
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/subdomains/%1/$1 [L,NC,QSA]

将任何子域重写到相应的文件夹。

编辑,实际上如果你想隐藏你正在重定向到一个文件夹的事实,你需要使用 mod_proxy

于 2013-05-01T07:02:21.203 回答
-1
RewriteEngine on

// 提取 domain.com 的子域部分

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]

// 检查子域部分不是www和ftp和mail

RewriteCond %1 !^(www|ftp|mail)$ [NC]

// 将所有请求重定向到使用子域的地址

RewriteRule ^.*$ http://www.domain.com/users/%1 [R,L]
于 2013-05-01T07:13:25.627 回答
-1

我认为这就是你这样做的方式:

RewriteCond %{HTTP_HOST} ^demo\.(.*)$ [NC]
RewriteRule ^(.*)$ http://mysite\.com/users/demo [R=301,L]
于 2013-05-01T07:01:47.557 回答