Задать вопрос
@Kifw

Почему не работают правила в файле htaccess на OpenServer 6.0?

open server 6.0
php 8.2
Есть простой набор правил
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*) index.php?url=$1 [L,QSA]


в файле C:\OSPanel\modules\PHP-8.2\Apache\conf\httpd.conf вроде все включено по дефолту
677d4e672c483092739830.png
Ну и собственно при проверке правило не применяется
if (isset($_GET['url'])) {
		$url = $_GET['url'];
	} else {
		$url = '';
	}

	var_dump($url);
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dodo512
Какой адрес проверяете?
Если главную страницу /, то это обращение к существующей папке (корневой каталог сайта).
RewriteCond %{REQUEST_FILENAME} !-d
Тут проверка что путь не является существующим каталогом.
Так что правило не сработает для главной страницы.

Ещё для главной страницы в $1 будет пусто т.к. строка с которой работает RewriteRule не начинается со "/".
Как на самом деле работает mod_rewrite.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы