Как разрешить codeigniter видеть мой.htaccess?

Мой проект (codeigniter) работает в Windows 7

Теперь мой URL-адрес выглядит так:

http://dev.something.com/index.php/reports

и я хочу:

http://dev.something.com/reports

Я пытаюсь скрыть index.php из моего URL-адреса, чтобы получить доступ к контроллеру.

Из этой ссылки я взял .htaccess

Так что мой.htaccess выглядит так:

Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 !^(index\.php|app|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

Но это изменение мне не помогло.

Важный:

Я удалил все данные из.htaccess, но ничего не произошло. Похоже, Codeigniter не видит .htaccess

.htaccess остается под моим корневым проектом ae:

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\someprog_dev\.htaccess

[РЕДАКТИРОВАТЬ 1]

Тот же проект отлично работает в Linux, поэтому его проблема с конфигурацией без кодаригентов

[EDIT 2]

Я изменяю .htaccess чтобы убедиться, что codeigniter использует .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /blogna/index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule> 

Ничего не произошло. Работает с index.php но не без него.

[РЕДАКТИРОВАТЬ 3]

Мой httpd.conf выглядит так:

....

LoadModule rewrite_module modules/mod_rewrite.so

...

LoadModule php5_module "c:/php/php5apache2_2.dll"
<IfModule php5_module>
    AddType application/x-httpd-php .php
    PHPIniDir c:/php/
    DirectoryIndex index.php index.html
</IfModule>

Я что-то пропустил? какие-либо предложения

0
источник поделиться
4 ответа

Это никогда не работало для меня также с codeigniter.. но следующее:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

При необходимости замените пути

Хорошая ссылка: http://softkube.com/blog/url-rewriting-for-codeigniter/

0
источник

Попробуйте эти

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
0
источник

Мой.htaccess так же прост, как

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|robots\.txt|js|files|icons|images)
RewriteRule ^(.*)$ /pathtoapp/index.php?/$1 [L]

и работает отлично. Но вам нужно, чтобы все в конфигурационных файлах CI правильно установлено, и правило должно соответствовать вашему $config['base_url'].

Поэтому, если у вас есть

$config['base_url'] = 'http://localhost/myapp/';

Вы должны положить

RewriteRule ^(.*)$ /myapp/index.php?/$1 [L]
0
источник

Попробуйте этот htaccess.It хорошо работает.

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Измените index.php на любой ваш главный контроллер.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос