Не работают страницы кроме главной
Начал настраивать сервер. Ubuntu 20.04, apache, php, mysql.
Не работают страницы кроме главной, ошибка 404. Погуглил, поменял права на файлы в /var/www. Толку 0.
index.php
<?php
include_once("header.php");
include_once($page);
include_once("footer.php");
?>
header.php
<?php
include_once("lib/navigation.php");
header("Cache-Control: no-cache, must-revalidate");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $links; ?></title>
</head>
<body>
footer.php
</body>
</html>
navigation.php
<?php
ini_set('display_errors', 1);
$this_siteDomain = "https://".$_SERVER['SERVER_NAME'];
$this_siteName = $_SERVER['SERVER_NAME'];
$links = $_SERVER['REQUEST_URI']; // получаем URL на котором находится пользователь
$links = str_replace("'", '', $links); // чистим от кавычек
$links = str_replace('"', '', $links); // чистим от кавычек
$url = explode("/", $links);
if($links == "/"){
$page = "page/login.php";
}else if($url[1] == "main"){
$page = "page/login.php";
}
?>
.htaccess
Options +SymLinksIfOwnerMatch -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php?f=$1 [L,QSA]
RewriteRule ^(lib/|page/|cache/) - [F,L,NC]
php_flag allow_url_fopen on
php_flag allow_url_include on
php_value max_execution_time 999
php_value display_errors 1
Помогите решить проблему. Уже не знаю, что делать... Заранее спасибо!
Ответы (1 шт):
Автор решения: SnegoWik
→ Ссылка
Проблема решилась следующими действиями:
- Включение mod_rewrite
# sudo a2enmod rewrite
- Необходимо добавить «AllowOverride All» в файле конфигурации Apache.
# sudo nano /etc/apache2/apache2.conf
В строках:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
Поменяйте "AllowOverride None" на "AllowOverride On"
!!!Перед тем как что-то менять, обратите внимание на первую строчку "<Directory /var/www/>". Именно тут необходимо поменять none, на all
3.Перезагрузите сервер Apache
# service apache2 restart