伪造一个子域名

时间:2013-05-01 06:59:47

标签: php .htaccess redirect

是否可以使用.htaccess发出重定向,以便用户输入网址:

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]

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:-1)

我认为你就是这样做的:

RewriteCond %{HTTP_HOST} ^demo\.(.*)$ [NC]
RewriteRule ^(.*)$ http://mysite\.com/users/demo [R=301,L]

答案 2 :(得分:-1)

RewriteEngine on

//解压缩domain.com的子域名部分

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

//检查子域部分不是www和ftp并邮件

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

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

RewriteRule ^.*$ http://www.domain.com/users/%1 [R,L]