Невозможно удалить index.php из моих URL в Codeigniter - PullRequest
0 голосов
/ 23 марта 2011

Я использую codeigniter, и когда я настраивал веб-сайт, я добавил необходимый код в свой файл .htaccess, чтобы удалить index.php (по умолчанию) из моих URL-адресов.Мне довелось заменить мою папку public_html из резервного файла моего сайта.Так как я сделал это, я не могу заставить работать ни одну из ссылок на домашней странице, если не вставить index.php в URL между доменным именем и остальной частью URL, как в http://www.obsia.com/index.php/contact/ вместо http://www.obsia.com/contact/ и это работает.Итак, в моем конфигурационном файле в папке приложения я изменил

$config['index_page'] = "";  

на

$config['index_page'] = "index.php";

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

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

RewriteEngine on
RewriteBase / 
RewriteCond $1 !^(index\.php|public|user_guide|robots\.txt|css)
RewriteRule ^(.*)$ /index.php?/$1 [L]

Может кто-нибудь указать мне правильное направление.Это будет высоко ценится.

С уважением, G

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

То, что вы хотите сделать, может быть сделано следующим образом:

RewriteEngine on
RewriteBase / 
# Static content. Rewrite to - (don't change) and mark as last rule.
RewriteRule !^(index\.php|public|user_guide|robots\.txt|css) - [L]

# Do the rewrite.
RewriteRule ^(.*)$ /index.php?/$1 [L]

Однако, несколько лучший способ сделать это:

RewriteEngine on
RewriteBase / 
# Only do the rewrite under the condition that the requested URL isn't a (real) file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?/$1 [L]
2 голосов
/ 08 ноября 2012

есть так много файлов доступа ht ... В моем случае я редактировал неправильный файл ... вы должны отредактировать файл, который находится внутри проекта ... например, я работаю над воспламенителем кода, и имя проекта было тестовым,так что внутри тестовой папки у меня был файл htaccess, а внутри папки приложения, т.е. test / application, был другой файл htaccess. Я редактировал файл доступа внутри папки приложения, но мне пришлось редактировать файл в тестовой папке, а не test / application./.htaccess .... надеюсь, что сумма 1 находит это полезным .. потому что я потратил полдня, чтобы выяснить это: (

Cheers ksp

...