Мой проект CodeIgniter успешно работает в моей системе XAMPP с URL-адресом,
http://localhost/newsfeeds/users/allCategories/
Когда я перемещаю этот проект в другую систему, сервер LAMP на Ubuntu 13.10. Для запуска той же страницы мне нужен url,
http://localhost/newsfeeds/index.php/users/allCategories/
Мне нужен файл index.php, иначе он показывает ошибку страницы с ошибкой.
Мой файл htaccess,
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
Как я могу запустить тот же проект без index.php на обоих серверах WAMPP и XAMP?
Я нашел решение этой проблемы.
На моем сервере режим перезаписи уже включен. Но некоторые значения по умолчанию должны быть изменены в файле /etc/apache2/apache2.conf
. Ниже приведены мои изменения,
Сначала найдите
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
И измените AllowOverride None на All и сохраните.
Затем включите режим перезаписи с помощью команды (в этом случае уже выделенной)
$ sudo a2enmod rewrite
Затем перезапустите сервер,
$ sudo /etc/init.d/apache2 restart
Запустите проект. Работает отлично.
Попробуй это:
RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [QSA,L]