Я работаю в данный момент на небольшом PHP-проекте..htaccess mod_rewrite показывает apache2 documentroot несколько раз в url
Для этого создается простой класс маршрутизатора, который принимает значение GET-параметра, разбивает его и вызывает запрошенный класс и метод.
Мой файл .htaccess должен переписать требуемый URL, так что я могу назвать
, которые должны быть перенаправлены на
Так метрономы r так хорошо. То работает со следующим .htaccess-файл:
DirectoryIndex index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [QSA]
Но теперь, если I'am пытается получить доступ к базовой для URL
Я получаю перенаправлены
, который я не могу объяснить.
Если честно, я до сих пор не работал с mod_rewrite, но это поведение выглядит странным для меня.
Надеюсь, что кто-нибудь может мне помочь.
Спасибо, ребята.
Редактировать 2017-01-15
Похоже, что это не имеет ничего общего с файлом HTAccess.
Сначала я проверил свой файл с этим validator, и похоже, что он работает, как я и хотел.
Я попытался удалить файл htaccess, и у меня есть та же проблема. Поэтому я предполагаю, что это вызвано веб-сервером apache2.
Я установил LogLevel в моем виртуальном хосте для отладки и получил следующую информацию от него:
[Вс Янв 15 09: 33: 41.684274 2017] [authz_core: отладка] [PID 2183] mod_authz_core. c (809): [клиент 10.0.2.2:49743] AH01626: результат авторизации от всех предоставленных:
[вс 15 янв 09: 33: 41.684355 2017] [authz_core: debug] [pid 2183] mod_authz_core.c (809): [клиент 10.0.2.2:49743] AH01626: результат авторизации: предоставлен
[вс 15 янв. 09:33:41.684445 2017] [core: info] [pid 2183] [клиент 10.0.2.2:49743] AH00128: Файл не существует: /var/www/public/var/www/public/index.phpvar/www/public/index. phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/общественности/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/государственный/index.phpvar/WWW/открытый/index.php
Это не имеет смысла для меня. Мой конфигурационный файл для виртуального хоста не содержит правил перезаписи.
Спасибо за ответ. К сожалению, ничего не изменилось. Все-таки такое же поведение. – pennertenner
Мы обрабатываем все с помощью^(. *) $, Это может вызвать этот цикл, попытайтесь ограничить его с помощью 'RewriteOptions maxredirect = 1', также добавьте опцию' Options + FollowSymlinks' и сообщите мне, пожалуйста. – UrL
Я пробовал это. Но все равно никаких изменений. Но теперь мой apache2 errorlog говорит: [Sat Jan 14 20: 13: 25.288749 2017] [rewrite: warn] [pid 3143] AH00664: RewriteOptions: опция MaxRedirects была удалена в пользу глобальной директивы LimitInternalRecursion и будет проигнорирована. – pennertenner