Сервера Apache 2.4.18, PHP версии 7.0 ...mod_rewrite странно бесконечные рекурсии
Введение: На стороне PHP я rawurlencode ($ имени) при создании HTML ссылки.
REQUEST_URI выглядит следующим образом:
/lang/cat1/cat2/product with bla (this/that) -- works
/lang/cat1/cat2/product with bla (this/ that) -- infinite internal redirect
Разница только в одном пространстве это/что против это/что
VirtualHost:
# I have tried different combinations of
AllowEncodedSlashes On
AllowEncodedSlashes NoDecode.
htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews #different combinations
RewriteEngine On
# tried different combinations
#RewriteCond %{REQUEST_URI} !^/?file\.php$
#RewriteCond %{ENV:REDIRECT_STATUS} ^$
#RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule .? file.php [L] # END
</IfModule>
Все, что я хочу, это стандартный фронт-контроллер, ВСЕ запросы должны идти в file.php. Это работает в 99,99% случаев. Но ruri с bla/
в нем идет к бесконечным рекурсиям.
Вопросы: Почему это происходит?
Как его решить?
[Включить ведение журнала] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging) на уровнях 'trace8', если вы можете, а затем проверить свои журналы ошибок на посмотрите, что на самом деле происходит. – Walf
DId это. Журнал был полон «рекурсий» – CoR