2012-05-09 9 views
1

私はlessCSSを使用します。私が持っている問題は、CodeIgniterでベースURLをhttp://www.mysite.comと設定し、私のブラウザでmysite.comに行くことが少なくなった場合です。 接頭辞にwwwを付けるとスタイルシートがレンダリングされません

そして、他の方法で回避

...

コンソールが私に与え、この:

のXMLHttpRequestをロードすることはできませんxxxxの起源http://mysite.ltは、アクセス制御 - 許可 - 起源によって許可されていません。

少ない-1.2.1.min.js:8Uncaughtエラー:NETWORK_ERR:XMLHttpRequestの例外101

答えて

2

は(Apacheを使用していると仮定して)あなたの.htaccessファイルにこれを追加します。

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

常にwwwを追加します。ユーザーが入力しなくてもそれはあなたの問題を解決するはずです。これを行うと、私は私のEEのインストールのためのコードブロックを使用したURLからindex.phpをを削除するには

(CIを使用する)

<IfModule mod_rewrite.c> 

     RewriteEngine On 

     # Removes index.php 

     RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^(.*)$ /index.php/$1 [L] 

     # Redirects index.php when user adds them to a URL 

     RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] 
     RewriteCond %{THE_REQUEST} !/system/.* 
     RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L] 

     # Appends www when absent 

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

</IfModule> 

最初のブロックからのindex.phpを削除するためにあなたの標準的なEEベースのリライトですすべてのあなたのURL。コードの2番目のブロックは、あなたが検索エンジンで重複したURLを与えることから(つまり、SEOを傷つけることから)、ユーザーによってindex.phpが追加されたURLを保持する素敵な追加です。代わりに、適切なURLに適切に転送するか、適切な場合は404を返します。もちろん、コードの最後のブロックはwwwを追加します(または削除することもできます)。

+0

私は実際にこれをすでに行いましたが、それ以外の方法で行いました。常にwwwを削除するのと同じです。どちらのアプローチにも賛否両論はありますか?いつもvsを取り除くのと同じように、常にwwwの前に? – vgaldikas

+0

あなたが一貫している限り、実際はそうではありません。短く、他の人がwwwを好む人もいるので、削除する方が好きです。そのより一般的なので。 SEOは重要ではありません。あなたの問題を解決しましたか? –

+0

そうでした!ありがとう!小さなものを除いて...私はmod_rewriteのもう一つのビットがあります.1つは、CIのindex.phpを取り除く...私がサイトに行ったときに、その1つは呼び出されず、index.phpがURLに表示されます。実際には大したことではありませんが、これらの2つのルールがどのように一緒に暮らすことができるかを知っていいですか? – vgaldikas

関連する問題