我想在不更改网址的情况下重定向通配符子域。 例如,如果用户键入subdomain.domain.com,我希望它转到www.domain.com/subdomain但不更改原始网址。域和子域都位于根文件夹中。
我已经尝试了许多示例来实现这一点,并提出了以下htaccess代码以重定向到通配符子域。此代码会将用户重定向到正确的通配符子域,但生成的URL不会更改。如果用户在subdomain.domain.com中输入,则网址将更改为www.domain.com/subdomain。
我与GoDaddy签订了共享主机方案,我有一个专用的IP。这是我的根文件夹的构成:
Root->
domain -> subdomain1, subdomain2 etc
domain2
domain3
domain4
.htaccess
welcome.html
当用户请求创建自己的站点时,使用代码创建子域文件夹。这是我最初在我的htaccess中尝试过的。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www)\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule (.*) http://www.domain.com/%1 [NC]
在尝试下面的建议答案并输入subdomain.domain.com之后,我现在被引导到看起来像内部GoDaddy屏幕的内容,该屏幕显示“未来的家庭非常酷”。我需要对我的htaccess做什么样的改变,或者我要求的甚至是什么?
答案 0 :(得分:0)
您是否尝试过:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www)\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteCond %1#$1 !^([^#]+)#\1
RewriteCond %{DOCUMENT_ROOT}/%1/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/%1/$1 -d
RewriteRule ^(.*)$ /%1/$1 [L]