2014-02-22 41 views
2

我用這個.htaccess創建了一個子域;它在我的www.example.com域上工作正常,但不在www.example.pk上。我不明白問題在哪裏。如何在重寫目錄中通過.htaccess創建子域

www.example.com

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/?index\.php$ 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 

www.example.pk

RewriteCond %{HTTP_HOST} !^www\.example\.pk$ [NC] 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.pk$ [NC] 
RewriteCond %{REQUEST_URI} !^/?index\.php$ 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 

我創建www.example.com域,那麼用的cPanel子域* .example.com的。這是否有必要?

+0

服務器是否聽擺在首位的子域(虛擬主機或但是它被配置)? –

+0

當我在www.example.pk域上配置此方法時,此錯誤出現「問題載入頁面」,但在www.example.com域上正常工作;這兩個域名託管在同一個託管 – knsmith

+0

oyu可以給我們真實的域名來檢查嗎? –

回答

0

當您使用子域名時,您需要正確配置DNS以將子域指向您的服務器。 cpanel的子域功能可能已經爲你完成了,或者它已經包含了一個通配的cname dns記錄。 DNS記錄通常被高速緩存,但我不確定這是否也適用於不存在的記錄。

該子域是否已經解析到我的服務器?

首先檢查您的子域是否已經解析爲IP。打開一個終端並鍵入ping yoursubdomain.example.com(顯然你需要用你的實際域替換它)。如果無法解析爲IP,那麼DNS記錄可能存在問題。如果您想要here或其他幾個類似的網站,則可以在線執行此操作。

編輯您的DNS

如果你的主機爲您提供了手動編輯DNS記錄的機會,你需要了解以下內容:

  • 有1個A記錄在您的DNS。這就是名字被轉換爲IP的方式。
  • 任何子域都使用CNAME記錄鏈接到該記錄。

您可以添加一個通配符子域(它可以將任何(un)可想象的子域轉換爲您的站點),也可以添加一個特定的子域到您的dns。您可以通過添加

CNAME (from) *.example.com (to) example.com 

TTL(生存時間)是其他人可以緩存記錄的時間。它最多隻需要TTL讓世界上的每個人都能「注意」你在dns記錄中做出的更改。 This site提供了更多關於這方面的信息。

的.htaccess

我不知道你想重寫什麼樣的URL,但也有幾件事情你可以改變:

  • %{REQUEST_URI}總是以/開始。在您的情況下,不需要在其後添加?
  • 爲了便於閱讀,如果使用%1-type-of-backreferences,請將相應的條件直接放在它上面,即使它沒有被沒有捕獲組的其他條件覆蓋。
  • ^(.*)/*([0-9]+)*$對我沒有多大意義。它匹配每個網址,因爲(.*)之後的所有內容都是可選的,並且可以在那裏有無限次數。我懷疑這是你想要的。

RewriteCond %{HTTP_HOST} !^www\.example\.pk$ [NC] 
RewriteCond %{REQUEST_URI} !^/index\.php$ 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.pk$ [NC] 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 
+0

謝謝你的回答;我不會做通配符子域名;我想要做的.htaccess我已經在我的www.mydomain.com上完成,但是當我嘗試申請www.mydomain.pk它不工作;我不知道問題在哪裏。你有任何解決方案? – knsmith

+0

你是否按照「子域名已解析到我的服務器?」下的文字?結果是什麼? – Sumurai8

+0

沒有結果顯示你給定的文字 – knsmith