簡體   English   中英

Access-Control-Allow-Origin和www子域

[英]Access-Control-Allow-Origin and www subdomain

我在使用Access-Control-Allow-Origin時遇到麻煩。 我正在使用CodeIgniter(CI)和jQuery進行jQuery.getJSON()調用。 我使用CI URL調用jQuery.getJSON()。 我在CI配置中的基本URL在域名中包含www(www.domain.com)。 當我訪問該網站時,我沒有使用www(domain.com)。 因此,當進行jQuery.getJSON()調用時,它使用www url,但從非www url進行調用。 這導致錯誤:

Access-Control-Allow-Origin不允許使用來源非www.domain.com。

您如何處理這個問題? 我已經看到很多關於如何處理這些AJAX調用的不同子域的文章,但是我覺得這是不同的。 這是同一網站,但是有些人可能選擇使用www.domain.com ,而有些人可能選擇僅使用domain.com

我建議您一勞永逸地選擇是否要在站點前使用www ,然后相應地設置apache重定向,這將為您節省很多麻煩:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L] 

(這會將非www請求重定向到www)

謝謝@serg。 我最終做了您建議的事情,但只是相反(將所有www重定向為非www)。 我還發現了與您提供的代碼類似的代碼,但是它更通用,因此當我想重用它時不必更改域名:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM