Bukk
Новичок
Вопрос по rewrite_mod
Есть такие строки в .htaccess
RewriteEngine on
RewriteRule ^(_[^/]*)(.+\.php) $2 [E=FFF:$1]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^es/(.+\.php.*) $1 [E=LANG:es]
обращаемся к сайту по адресу: http://localhost/_2/5.php
Получаем вот такой лог:
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: z:/home/localhost/www/_2 -> z:/home/localhost/www/_2/5.php
==> (3) [per-dir z:/home/localhost/www/] strip per-dir prefix: z:/home/localhost/www/_2/5.php -> _2/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^(_[^/]*)(.+\.php)' to uri '_2/5.php'
==> (2) [per-dir z:/home/localhost/www/] rewrite _2/5.php -> /5.php
==> (5) setting env variable 'FFF' to '_2'
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: /5.php -> /5.php/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^es/(.+\.php.*)' to uri '/5.php/5.php'
==> (1) [per-dir z:/home/localhost/www/] internal redirect with /5.php [INTERNAL REDIRECT]
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: /5.php -> /5.php/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^(_[^/]*)(.+\.php)' to uri '5.php'
==> (3) [per-dir z:/home/localhost/www/] strip per-dir prefix: z:/home/localhost/www/5.php -> 5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^es/(.+\.php.*)' to uri '5.php'
==> (1) [per-dir z:/home/localhost/www/] pass through z:/home/localhost/www/5.php
Вопрос по красной строке: почему при переходе от первого RewriteRule ко второму добавляется postfix /5.php, а z:/home/localhost/www/ ?
-~{}~ 24.02.06 03:00:
И ещё хотел спросить: можно ли здесь избежать редиректа?
Есть такие строки в .htaccess
RewriteEngine on
RewriteRule ^(_[^/]*)(.+\.php) $2 [E=FFF:$1]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^es/(.+\.php.*) $1 [E=LANG:es]
обращаемся к сайту по адресу: http://localhost/_2/5.php
Получаем вот такой лог:
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: z:/home/localhost/www/_2 -> z:/home/localhost/www/_2/5.php
==> (3) [per-dir z:/home/localhost/www/] strip per-dir prefix: z:/home/localhost/www/_2/5.php -> _2/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^(_[^/]*)(.+\.php)' to uri '_2/5.php'
==> (2) [per-dir z:/home/localhost/www/] rewrite _2/5.php -> /5.php
==> (5) setting env variable 'FFF' to '_2'
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: /5.php -> /5.php/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^es/(.+\.php.*)' to uri '/5.php/5.php'
==> (1) [per-dir z:/home/localhost/www/] internal redirect with /5.php [INTERNAL REDIRECT]
==> (3) [per-dir z:/home/localhost/www/] add path-info postfix: /5.php -> /5.php/5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^(_[^/]*)(.+\.php)' to uri '5.php'
==> (3) [per-dir z:/home/localhost/www/] strip per-dir prefix: z:/home/localhost/www/5.php -> 5.php
==> (3) [per-dir z:/home/localhost/www/] applying pattern '^es/(.+\.php.*)' to uri '5.php'
==> (1) [per-dir z:/home/localhost/www/] pass through z:/home/localhost/www/5.php
Вопрос по красной строке: почему при переходе от первого RewriteRule ко второму добавляется postfix /5.php, а z:/home/localhost/www/ ?
-~{}~ 24.02.06 03:00:
И ещё хотел спросить: можно ли здесь избежать редиректа?