2012-04-13 38 views
25

當我輸入我的域名時,例如沒有www(如http://example.com),它不起作用並出現錯誤信息。但是,當我將www添加到它(如http://www.example.com)時,它可以工作。如果沒有`www`,域名無法正常工作

是不是應該雙向工作(有和沒有www)?

+3

錯誤的論壇。但是您需要配置您的DNS,以便wwww.domain.com和domain.com都有一個帶有IP的A記錄到您的Web服務器。然後,您還必須配置您的Web服務器以偵聽這兩個地址。對未來問題的打擊:知道錯誤信息是什麼會很有用。 – some 2012-04-13 05:11:22

+0

@some,謝謝。在所有瀏覽器中,錯誤消息幾乎相同:**哎呀! Google Chrome無法連接到mydomain.com **。我有我的域名Godaddy和網絡託管在Bluehost .... – 2012-04-13 05:17:47

+1

@Digitalsite - 你是否處理代碼中的子域名(例如,程序設計的URL重寫)還是這是一個DNS /服務器配置問題?如果是前者,請發佈更多細節和示例代碼。如果以後,請將這篇文章遷移到http://serverfault.com/ – lukiffer 2012-04-13 05:37:35

回答

17

所有你需要的是下面的代碼添加到您的根.htaccess文件:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+5

如果你向人們解釋這實際上做了什麼,這將是很好的。這裏有一個博客使用相同的代碼http://dense13.com/blog/2008/02/27/redirecting-non-www-to-www-with-htaccess/ – trainoasis 2014-07-16 07:29:53

+0

感謝@ trainoasis的鏈接。它應該是自我解釋。它將www添加到域和任何子域或子文件夾中,等等...... – 2014-07-16 15:06:10

+2

您需要了解正則表達式才能破譯代碼。第二行表示:如果HTTP_HOST不(!)以(^)「www。」開頭,則將其放入下一行的內存中。下一行說:從前一行捕獲的內容中,匹配從開始(^)到結束($)的所有內容(。*),並將所有內容(圓括號內)保存爲$ 1。然後用「http:// www」替換$ 1。加上HTTP_HOST變量。 – 2015-03-12 18:01:32

-2

您需要更改任何完整的URL路徑。如果你的PHP包含或其他進程使用URL鏈接,它將只能以一種方式工作。

$.ajax(
{  
    url:'/LAYOUT/process.php' 
} 

爲反對的完整URL

$.ajax(
{  
    url:'https://www.yourdomain.com/LAYOUT/process.php' 
} 

使用簡單的路徑將允許它帶或不帶WWW兩種方式工作。

0

或者,你可以按照下面,這解決了這個問題,可以肯定,如果你使用GoDaddy的步驟和Google Apps:

  1. 去谷歌Apps,並登錄到域管理。

  2. 然後點擊域名設置。

  3. 然後點擊域名。

  4. 然後點擊字突出,通過谷歌應用程序設置重定向,你應該看到它在3小時內或MAX 2天完成(儘管通常並不需要超過一天中最罕見的情況下,更多)。只是跟隨簡單的英語說明,你應該看到它完成。

更多細節及參考:

http://www.techproceed.com/2014/05/custom-domain-setup-on-blogger-with.html

5

與Apache的當前版本,你需要做到以下幾點,相比之前的版本,這已經改變:

cd /etc/apache2/sites-enabled 

現在找到您的域的配置文件並編輯它(<VirtualHost *:80>後面的前三行是我們在這裏需要的):

<VirtualHost *:80> 
     ServerName www.yourdomain.com 
     ServerAlias yourdomain.com *.yourdomain.com 
     ServerAdmin [email protected] 

     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 

</VirtualHost> 

現在將更改保存到文件後,你應該重新加載的Apache服務器,我們與配置:

service apache2 reload 

,它會努力!

P.S.您可能還不想將*.yourdomain.com添加到ServerAlias行的末尾。

+0

'ServerAlias www.yourdomain.com yourdomain.com'的作品。謝謝。 – 2017-04-13 08:14:37

+0

@node_saini如果它對你有幫助,請提高回答。 :-) – Neeku 2017-04-14 09:44:03

+0

完成:)但是這是正確的方法嗎?這不會導致任何問題嗎? – 2017-04-17 07:44:00

2

來解決這個問題

- >假設你想mysubdomain.domain1。COM

- 在您的網頁面板>跳轉到你的DNS記錄設置(的cPanel,vestapanel等)domain1.com的

- >添加有新的記錄與domain1.com的IP,並填寫記錄/主機名場與@ // @意味着沒有WWW如果你想WWW太然後添加其他新的記錄並替換@以www

- >保存

- >等待DNS更改生效可能需要幾個小時