2014-10-01 164 views
0

我在我的主机上设置了一个子域名:indiantimes.indianradio.net.au,即从我的/public_html文件夹中的文件夹中提取:/public_html/indiantimes.com.au使用.htaccess重定向子域名

我试图编写一个.htaccess规则,它会将其重定向到该文件夹​​,但保留用户输入的原始网址:indiantimes.indianradio.net.au

我只能够得到重定向工作,即(indiantimes.indianradio.net.au重定向到indianradio.net.au/indiantimes.com.au/),但我似乎无法得到重定向工作,所以用户看到的网址,停留在:indiantimes.indianradio.net.au。大部分图片网址都已破解,我可以正确地重定向。

的规则的.htaccess我被玩弄是:

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^indiantimes\.indianradio\.net\.au$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.indiantimes\.indianradio\.net\.au$ 
RewriteRule ^/?$ "http\:\/\/indianradio\.net\.au\/public_html\/indiantimes\.com\.au" [R=301,L] 

我在做什么错重定向?任何帮助将非常感激!提前致谢!

回答

1

您必须将您的子文件夹名称替换为您的子域名
(indiantimes.com.au - > indiantimes)。

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^indiantimes\.indianradio\.net\.au$ 
RewriteCond %{REQUEST_URI} !^/indiantimes/ 
RewriteRule (.*) /indiantimes/$1 

source

0

对于子域,通常建议在apache中添加一个虚拟主机,而不是使用.htaccess(preformance-wise和more cross-platform)。
但是你可能会找到合适的情况下,编辑Apache的配置文件,下面的链接是不是一种选择:.htaccess rewrite subdomain to directory(总结:使用MOD代理并添加-P标志,以你的重写规则)

  1. 转到/etc/apache2/sites-available (在终端使用cd

  2. 添加的文件名为:indiantimes.indianradio.net.au,例如内容:

    <VirtualHost *> 
        DocumentRoot /var/www/indianradio.net.au/public_html/indiantimes.com.au/ 
        ServerName indiantimes.indianradio.net.au 
    
        <Directory /var/www/> 
         Options Indexes FollowSymLinks MultiViews +Includes 
         AllowOverride None 
         Order allow,deny 
         allow from all 
        </Directory> 
    
    
        ErrorLog ${APACHE_LOG_DIR}/error-logfile.log 
        # Possible values include: debug, info, notice, warn, error, crit, 
        # alert, emerg. 
        LogLevel warn 
        CustomLog ${APACHE_LOG_DIR}/access-logfile.log combined 
    
    </VirtualHost> 
    
  3. 链接到文件中的Apache2 /网站启用

在终端:从网站可用的文件夹ln -s ./indiantimes.indianradio.net.au ../sites-enabled/,注意后/

+0

这是一个关于托管所以共享我无法使用虚拟主机。我正在查看您现在发送的链接,以查看有关修改htaccess的信息。谢谢! – McWayWeb 2014-10-01 05:30:14

+0

@McWayWeb不用客气,请注意几乎所有的共享主机帐户都有一个接口来添加子域(以正确的方式)。 'RewriteRule^/?$“http \:\/\/indianradio \ .net \ .au \/public_html \/indiantimes \ .com \ .au”[R = 301,L]' 应该是沿线作者: '重写规则^/indiantimes.com.au/$ 1 [R = 301,L,P]'(未经测试,前一阵子离开apache) – 2014-10-01 06:02:56