在htaccess中使用子目录作为子域

时间:2012-05-31 19:55:59

标签: .htaccess subdomain subdirectory

我正在尝试将我网站上的子文件夹指向子域。例如,我想将www.domain.com/test转到test.domain.com。我已经在我们之前在网站构建过程中使用的开发人员完成了htaccess的一些重写,我希望能够添加这一行而不会干扰这些。

我在网上找到了几十个这个问题的答案,但是它们似乎都没有用,我不确定是不是因为我对这种语言缺乏了解,或者是否与某些东西有冲突其他。

我尝试过的最新专线是:

RewriteCond %{HTTP_HOST} !^www.domain.tv 
RewriteCond %{HTTP_HOST} ([^.]+).domain.tv 
RewriteRule ^(.*)$ /var/www/www.domain.tv/test%1

这是我目前的htaccess文件:

 Options +FollowSymLinks

RewriteEngine On

RewriteBase /

#RewriteCond %{HTTP_HOST} !www\.domain\.tv$ [NC]
#RewriteCond %{HTTP_HOST} ^(.+)\.domain\.tv$ [NC]
#RewriteRule .* index.php?option=com_contushdvideoshare&view=player&Itemid=33 [L]

RewriteCond %{REQUEST_URI} ^/album\/t\/([a-zA-Z0-9]+) [NC]
RewriteRule ^album/t/(.*) index.php?option=com_usermenu&task=directdownload&id=$1&type=one$

RewriteCond %{REQUEST_URI} ^/album\/([a-zA-Z0-9]+) [NC]
RewriteRule ^album/(.*) index.php?option=com_usermenu&task=directdownload&id=$1 [L]


RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]


RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

尝试:

RewriteCond %{HTTP_HOST} !^www.domain.tv [NC]
RewriteCond %{HTTP_HOST} ([^\.]+).domain.tv [NC]
RewriteRule ^(.*)$ %1/$1 [L]

答案 1 :(得分:0)

子域名设置起来并不容易。您需要先配置服务器。更多信息:Create subdomains on the fly with .htaccess (PHP)