Я объявил базовый URL-адрес как $ config [‘base_url’] = ‘http://example.com/«;.
Но проблема в том, если кто-то попытается получить доступ к моему веб-сайту с помощьюhttp://www.example.com/«; Функции css / js не работают.
Если я изменю базовый URL на ‘http://www.example.com/‘, пользователи не могут получить доступ с’http://example.com/».
Я использую codeigniter 3.0.3. Это проблема веб-сайта, который уже находится в сети.
CSS — assets / plugins / bootstrap / css / bootstrap.min.css «/>
JS — «>
. Кстати, запрос AJAX также не удалось. Когда я пытаюсь получить доступ к функции AJAX, на консоли отображается следующая ошибка —
XMLHttpRequest не может загрузить http://www.example.com/Dynamic/home/normal/4. В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Происхождениеhttp://example.comПоэтому не допускается доступ.
ошибка css
Шрифт из происхожденияhttp://www.example.com‘заблокирован от загрузки политикой общего доступа к ресурсам: заголовок «Access-Control-Allow-Origin» отсутствует в запрашиваемом ресурсе. Происхождениеhttp://example.comПоэтому не допускается доступ.
Я думаю, что следующий блок кода показывает лучший способ настроить base_url в Codeigniter:
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
И я твердо верю, что это решит вашу проблему. Спасибо.
Измените свою базовую ссылку с
$ config [‘base_url’] = ‘http://example.com/«;
в
$ config [‘base_url’] = ‘http://www.example.com/«;
Причина: URL-адрес веб-сайта с www и без www считается другим, поэтому выдает ошибку
Политика совместного использования ресурсов между источниками: нет «Access-Control-Allow-Origin»
Лучшим способом является добавление кода в htaccess для преобразования не www в www.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [L,R=301]
Надеюсь, что это объяснить причину изменений …
Определите baseUrl следующим образом
$config['base_url'] = 'stackoverflow.com/';
а также .htaccess
должно быть
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
А также убедитесь, что URL-помощник загружен.