2013-06-24 3 views
2

Я использую CentOS,Codeigniter не может удалить индекс из URL

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond $1 !^(index\.php|robots\.txt|resources) 
RewriteRule ^(.*)$ index.php/$1 [L] 
RewriteBase /var/www/html/site/ 

</IfModule> 

но адресности же проблема моих страниц с index.php работает нормально, но когда я удалить index.php это не работает ...

+0

Есть ли у вас "WWW" ваши корневые папки для сайтов? – bottleboot

+1

Ваша ошибка в rewritebase, это относительно корня документа , если ваш корневой каталог является/var/www/html/ваша rewritebase должна быть/site – ikhsan

+0

@ikhsan да, я шел одинаково, это не сработает, если это неверно – bottleboot

ответ

6

Я думаю, что это поможет вам, поскольку я использую этот one.Put этот код в htaccess файла вашей корневой папки.

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

Пожалуйста, дайте мне знать, если он работает или нет.

+0

Спасибо, что это работает для меня –

+0

рад, что он помогли вам. – ABorty

+1

спасибо Dear Aritra –

0

Простой в файле config.php в категории config папки для индекса URL (index_page) и сделать его пустым

$config['index_page'] = ''; 
+0

да, у меня есть тот же, что и мой config.php, но не работает снова –

+0

Вы либо меняете файл конфигурации, либо меняете at htaccess ..... dont mess друг друга – Gautam3164

+1

$ config ['index_page'] = ''; это такое, и мой .htaccess - это то, что я написал по моему вопросу .. –

2

Это может быть несколько Тхи NGS.

1 (удалить индексную страницу из файла конфигурации (приложение/Config/config.php)

$config['index_page'] = ''; 

2 (У вас есть base_url, как это:

$config['base_url'] = 'http://yourdomain.com/'; 

Обратите внимание на / в конец

3 (попробуйте это .htaccess:.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ index.php?/$1 [L] 

RewriteCond %{REQUEST_URI} ^LoginTut.* 
RewriteRule ^(.*)$ index.php?/$1 [L] 

RewriteCond $1 !^(index\.php|images|table-images|js|robots\.txt|css|captcha) 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L] 
</IfModule> 
<IfModule !mod_rewrite.c> 
ErrorDocument 404 index.php 
</IfModule> 
+0

Я пробовал то же самое, что и ур-инструкцию, но stell, когда мне нужна моя страница без index.php, она забирает меня в Google, не работает –

+0

Что такое твой сайт? я могу посмотреть на это? –

+0

Разве вы не используете localhost и Safari? – tyrhus

0

Попробуйте это, он работает для меня ccnd - это папка с файлами.

RewriteEngine on 
RewriteCond $1 !^(index\.php|uploads|images|css|js|lib|img|bootstrap|robots\.txt) 
RewriteRule ^(.*)$ /ccnd/index.php/$1 [L] 
0
RewriteEngine On 
RewriteBase /site_root/ 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 
RewriteCond %{REQUEST_URI} ^application.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

Важно: 1. Вы должны установить в файле config.php $config['index_page'] = '';. 2. site_root - это имя папки, например, wamp/www/site_root.