У меня проблемы с маршрутизацией codeigniter. У меня есть сайт в реальном времени на сервере хостинга и вот его htaccess.
#php_value memory_limit 256M
#php_value upload_max_filesize 50M
#php_value post_max_size 70M
AddType font/opentype .otf
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType application/font-woff .woff
AddDefaultCharset utf-8
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteRule ^favicon.* - [L]
RewriteRule ^search /categories [R=301,L]
RewriteRule ^login / [R=301,L]
RewriteRule ^pages/disclaimer /pages/integritetspolicy [R=301,L]
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^index.php$ http://%{HTTP_HOST} [R=301,L]
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (utredningar/post)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(utredningar/post)
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
Это отлично работает с доменным именем (example.com) и сервером хостинга. В header.view & в других представлениях ссылки приводятся как
<href="/assets/styles/home.css?9">
Но когда я пытаюсь сделать эту работу в localhost в wamp, это не сработает. Активы (css/js/images) не загружаются, а маршрутизация URL не работает.
Я изменил эти две строки
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L]
в
RewriteCond %{HTTP_HOST} !^localhost
RewriteRule (.*) http://localhost/example/$1 [R=301,L]
Я изменил приложение /config/config.php, добавил базовый url, удалил index.php и т.д.
Я пробовал все возможные способы заставить его работать, пожалуйста, укажите, где я делаю неправильно. Большое спасибо
1. Внесите изменения в файл application/config.php
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/Your Ci folder_name';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
2. Сделайте файл .htacces
в корневом каталоге, используя код ниже.
RewriteEngine on
RewriteBase /codeigniter // add this
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Это мой .htaccess
который работает как на сервере производства, так и на разработке.
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
config.php
$config['base_url'] = '';
$config['index_page'] = '';
routes.php
# Default
$route['default_controller'] = "home";