Codeigniter htaccess для локального хоста

1

У меня проблемы с маршрутизацией 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 и т.д.

Я пробовал все возможные способы заставить его работать, пожалуйста, укажите, где я делаю неправильно. Большое спасибо

  • 0
    Какую версию CI вы используете ??
  • 0
    Это 2.1, но я также изменил систему на 2.2. Но она не работает ..
Показать ещё 3 комментария
Теги:
codeigniter
.htaccess
routing

2 ответа

1

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]
  • 0
    Я уже сделал это .. Все еще не повезло :(
  • 0
    @UdayaSri небольшая модификация в моем коде RewriteBase / codeigniter
Показать ещё 3 комментария
1

Это мой .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";
  • 0
    Спасибо за ваш быстрый ответ @Parag, но я пробовал это раньше .. Это не работает для меня ,,
  • 0
    Просто угадай работу. Попробуйте некоторые другие изменения в правках.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню