Създадох .htaccess файл в корените на документа на /var/www/html/
да пренапишете URL на Codeigniter, за да премахнете "index.php" от URL на всички страници.
например Променете URL адреса от
http://myhost/index.php/controller/function
да се
http://myhost/controller/function`
Ето кода на моя `/var/www/html/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Имам много предложения от googling, за да се даде възможност на mod-rewrite модул, но мога да видя в моя httpd.conf
вече е активиран.
LoadModule rewrite_module modules/mod_rewrite.so
Това перфектно работи върху локалната ми система, работеща на Debian 7 (Apache / 2.4.4).
Всяка помощ ще бъде оценена. :)
Отговори:
11 за отговор № 1Трябва също да посочите местоположенията, които могат да го използват. Например в /etc/httpd/conf/httpd.conf трябва да видите нещо като:
<Directory "/var/www/html">
...lots of text...
</Directory>
Уверете се, че има:
<Directory "/var/www/html">
AllowOverride All
</Directory>
0 за отговор № 2
Възможно е вашият centos сървър да не се настрои да работи с PATH INFO. Опитайте да замените index.php/$1
в целта на вашето правило index.php?/$1
.
След това трябва да промените конфигурацията на CI, за да активирате низовете на заявките: http://ellislab.com/codeigniter/user-guide/general/urls.html
В теб application/config.php
набор от файлове $config["enable_query_strings"]
да се TRUE
.