1

我使用较少的CSS。我遇到的问题是,如果在 CodeIgniter 中我将基本 URL 设置为http://www.mysite.com,而在我的浏览器中,我会访问 mysite.com ,但不会渲染。

而反过来...

控制台给了我这个:

XMLHttpRequest 无法加载 xxxx 来源http://mysite.lt是 Access-Control-Allow-Origin 不允许的。

less-1.2.1.min.js:8Uncaught 错误:NETWORK_ERR:XMLHttpRequest 异常 101

4

1 回答 1

2

将此添加到您的 .htaccess 文件中(假设您使用的是 Apache):

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

那将始终添加www。即使用户没有键入它。那应该可以解决您的问题。

为此并从 url 中删除 index.php,我将这段代码用于我的 EE 安装(使用 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>

第一个块是您基于标准 EE 的重写,以从您的所有 URLS 中删除 index.php。第二个代码块是一个很好的添加,它保留了 url,其中 index.php 是由用户添加的,从解析和为您提供重复的 url 与搜索引擎(从而损害 SEO)。相反,它会正确地转发到正确的 URL(如果存在),或者在适当的情况下返回 404。当然,最后的代码块添加(或可以删除​​)www。

于 2012-05-09T22:05:39.300 回答