Это мой файл.htaccess. Для моего проекта я использую Codeigniter Framework.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /project_name/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Где моя ошибка здесь? Но это работает в xampp.
Откройте терминал. Запустите следующий код:
sudo nano /etc/apache2/apache2.conf
спуститесь и измените:
AllowOverride All
выглядит как:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Затем перезапустите apache2.
sudo service apache2 restart
и затем.htaccess файл
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Вы не можете просто перемещаться с одного сервера на другой и не следить за тем, чтобы ваши предварительные условия существовали. В большинстве систем эти функции не включены по умолчанию. Вы также не указали каких-либо особенностей вашей установки или даже вашего корня документа.
Таким образом, уйдя, что это сервер Ubuntu и apache2, вам нужно делать все это.
Первое, что вам нужно сделать, если это новая установка LAMP, - это перезаписать.
Запустите эту команду, чтобы включить mod_rewrite.
sudo a2enmod rewrite
Затем вам нужно убедиться, что вы разрешаете.htaccess в вашем корневом каталоге документа.
редактировать
/etc/apache2/sites-available/000-default.conf
В этом файле поиск этого
AllowOverride None
и изменить его на
AllowOverride All
Затем перезапустите apache2.
sudo service apache2 restart
EDIT: основываясь на вашем комментарии, вам нужно сделать так, чтобы ваш vhost выглядел так, а затем перезапустил apache2.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
Вы уверены, что модуль mod_rewrite загружен? перейдите по адресу httpd.conf и выполните поиск -
LoadModule rewrite_module modules/mod_rewrite.so
и убедитесь, что theres no # [hash tag] до