2015-07-28 1 views
0

В основном я хочу удалить index.php в моем url.Удаление index.php с использованием .htaccess не работает на hostignator codeigniter

Я думаю, что мой .htaccess не работает на Hostgator, и я уже искал свою проблему на этих .htaccess, codeigniter и hostgator.

Это моя структура папок в Hostgator

/CGI-BIN
/httpdocs
        | ---/применение
        | ---/система
        | ---. Htaccess
        | --- index.php

Мой .htaccess

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

Мой config.php

$config['base_url'] = 'www.example.com'; // this is only an example because our website is confidential 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'AUTO'; 

Edit: Извините за идиота. Я связался с Hostgator после того, как я разместил этот вопрос и попробую ответить ниже. Говорят, что я работает на Windows server не Apache server, поэтому мой .htaccess будет не работает, поэтому мне нужно его преобразовать в web.config. Извините за те впустую, чтобы ответить на этот вопрос. Спасибо

Edit: отмечаю ответ @Deep Parekh как правильно, как @David сказал, что он работал правильно

+0

Вы изменили конфигурацию.php? –

+0

см. Мой код ... !!! –

+0

@DeepParekh Да, сэр Я уже изменил config.php –

ответ

1

Обычно я использую этот HTAccess на Hostgator:

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['index_page'] = ''; 
$config['uri_protocol'] = 'AUTO'; 
+0

все еще '404 - Файл или каталог не найден .' –

+0

проверьте свой файл routes.php, который вы определяете своим контроллером по умолчанию, и попытайтесь отладить его от эха. –

+0

Спасибо, что помогли сэр. Я идиот, что я отправил этот вопрос первым, прежде чем связаться с Hostgator. –

0

Я думаю, что его можно использовать Htaccess. http://support.hostgator.com/articles/specialized-help/technical/apache-htaccess/how-to-edit-your-htaccess-file

Возможно, попробуйте эти htaccess. Он работает в моем местном проекте.

DirectoryIndex index.php 
    RewriteEngine on 

    RewriteCond %{REQUEST_URI} !^(index\.php|\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)$ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*) ./index.php [L] 
+0

все еще '404 - Файл или каталог не найдены.' –

+0

У вас есть веб-сервер или веб-пространство? – Tobias

+0

Вы имеете в виду Hostgator? –

0

.Htaccess будет выглядеть:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    #RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [QSA,L] 



# Removes trailing slashes (prevents SEO duplicate content issues) 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)/$ $1 [L,R=301] 
</IfModule> 

В codeiginator конфигурации:

$config['uri_protocol'] = 'AUTO'; 

Если Htaccess не работает, то

  1. Настройка Apache mod_rewrite

    a2enmod перепишем

  2. Добавьте следующий код в/и т.д./apache2/сайты-доступные/по умолчанию

    AllowOverride Все

+0

Спасибо за помощь сэр. Я идиот, что я отправил этот вопрос первым, прежде чем связаться с Hostgator. –

0

В config/config.php

$config['base_url'] = ''; 
$config['index_page'] = ''; 

В .htacess

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

все еще '404 - Файл или каталог не найден .' –

+0

Вы удалили базовый url ?? –

+0

yes Я удалил его и протестировал код .htaccess, который вы отправили, но файл еще не найден –

0

Это работает для меня:

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