2016-07-30 116 views
0

我做了很多方法來做到這一點,但總是得到404錯誤。htaccess將子域重定向到與子域名相似的文件夾

我想重定向子域名

[username].domain.com/ 

domain.com/user/[username]/index.php 

,並在瀏覽器的地址鏈接是不是還改變

[username].domain.com/ 

[用戶名]根據註冊的用戶是動態在我的網站。

我最後的審判httaccess設置

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(^.*)\.domain\.com$ 
RewriteRule^^.domain.com/user%{REQUEST_URI} [L,P] 

注:我沒有把我的DNS通配符提前*.domain.com

感謝,

Nanangķ

====== ================================================== ====

求助

我不得不創建3個htaccess文件。

  1. 在根目錄(重定向到用戶)
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(^.*)\.domain.com 
RewriteRule ^(.*)$ /user/$1 [NC,L] 
  • 在用戶目錄(重定向到username_folder)
  • Options +FollowSymLinks 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^([aA-zZ])$ user/$1/index.php 
    RewriteCond %{HTTP_HOST} ^(^.*)\.domain.com 
    RewriteRule (.*) user/%1/index.php 
    
    在username_folder目錄(重寫網址爲原始URL)
  • Options +FollowSymLinks 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^([aA-zZ])$ index.php?siteName=$1 
    RewriteCond %{HTTP_HOST} ^(^.*)\.domain.com 
    RewriteRule (.*) index.php?siteName=%1 
    

    現在,當用戶訪問robert.domain.com,他將獲得從domain.com/user/robert/index.php內容。而url瀏覽器仍然robert.domain.com

    希望可以幫助有人遇到類似的問題。

    +0

    我認爲你應該嘗試更多它將解決你的問題與一個htaccess文件。 –

    回答

    1

    你好能否請您試試這個: -

    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC] 
    RewriteRule ^(.*)$ /users/$1 [L,NC] 
    

    它可以使用幫助。

    +0

    它給我一個錯誤。 內部服務器錯誤 服務器遇到內部錯誤或配置錯誤,無法完成您的請求。 –

    1

    它應該是這樣的,試試看。

    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^[username].domain.com$ 
    RewriteRule ^/?$ "http\:\/\/domain\.com\/users\/" [R=301,L] 
    

    希望這有助於!

    +0

    這也給了我一個錯誤404。可能是因爲用戶文件夾與我的laravel安裝在一個位置。 –

    +1

    太好了。你解決了它! –