2014-10-01 135 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