denik
Постоялец
- Регистрация
- 1 Июл 2011
- Сообщения
- 80
- Реакции
- 40
- Автор темы
- #1
Пытаюсь преобразовывать URL несколько раз, чтоб в результате был 1 редирект, вместо нескольких подряд.
Часть файла .htaccess:
Этот код должен преобразовать URL вида
/index/segment1/segment2
в
/segment1/segment2/
но вместо этого он делает:
/segment1/segment2//segment1/segment2/segment1/segment2/
Было испробовано много вариаций, однако результат один и тот же - либо дублирование URL, либо серверный бесконечный цикл, либо браузерный бесконечный цикл.
Лог mod_rewrite по коду выше:
Кто-то занимался такой фигней? Может у кого-то есть мысли, подсказки?
Часть файла .htaccess:
Код:
RewriteEngine On
# slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ $0/ [E=FINISH:1]
# index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index/(.*)$ $1 [E=FINISH:1]
# redirect
RewriteCond %{ENV:FINISH} !^$
RewriteRule ^(.*)$ /$0/ [E=!FINISH,R=301,L]
Этот код должен преобразовать URL вида
/index/segment1/segment2
в
/segment1/segment2/
но вместо этого он делает:
/segment1/segment2//segment1/segment2/segment1/segment2/
Было испробовано много вариаций, однако результат один и тот же - либо дублирование URL, либо серверный бесконечный цикл, либо браузерный бесконечный цикл.
Лог mod_rewrite по коду выше:
[perdir /home/user/site.com/] add path info postfix: /home/user/site.com/index -> /home/user/site.com/index/segment1/segment2
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/index/segment1/segment2 -> index/segment1/segment2
[perdir /home/user/site.com/] applying pattern '^.*[^/]$' to uri 'index/segment1/segment2'
[perdir /home/user/site.com/] rewrite 'index/segment1/segment2' -> 'index/segment1/segment2/'
[perdir /home/user/site.com/] add per-dir prefix: index/segment1/segment2/ -> /home/user/site.com/index/segment1/segment2/
[perdir /home/user/site.com/] add path info postfix: /home/user/site.com/index/segment1/segment2/ -> /home/user/site.com/index/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/index/segment1/segment2//segment1/segment2 -> index/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] applying pattern '^index/(.*)$' to uri 'index/segment1/segment2//segment1/segment2'
[perdir /home/user/site.com/] rewrite 'index/segment1/segment2//segment1/segment2' -> 'segment1/segment2//segment1/segment2'
[perdir /home/user/site.com/] add per-dir prefix: segment1/segment2//segment1/segment2 -> /home/user/site.com/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] add path info postfix: /home/user/site.com/segment1/segment2//segment1/segment2 -> /home/user/site.com/segment1/segment2//segment1/segment2/segment1/segment2
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/segment1/segment2//segment1/segment2/segment1/segment2 -> segment1/segment2//segment1/segment2/segment1/segment2
[perdir /home/user/site.com/] applying pattern '^(.*)$' to uri 'segment1/segment2//segment1/segment2/segment1/segment2'
[perdir /home/user/site.com/] rewrite 'segment1/segment2//segment1/segment2/segment1/segment2' -> '/segment1/segment2//segment1/segment2/segment1/segment2/'
[perdir /home/user/site.com/] explicitly forcing redirect with Для просмотра ссылки Войдиили Зарегистрируйся
[perdir /home/user/site.com/] escaping Для просмотра ссылки Войдиили Зарегистрируйся for redirect
[perdir /home/user/site.com/] redirect to Для просмотра ссылки Войдиили Зарегистрируйся [REDIRECT/301]
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/index/segment1/segment2 -> index/segment1/segment2
[perdir /home/user/site.com/] applying pattern '^.*[^/]$' to uri 'index/segment1/segment2'
[perdir /home/user/site.com/] rewrite 'index/segment1/segment2' -> 'index/segment1/segment2/'
[perdir /home/user/site.com/] add per-dir prefix: index/segment1/segment2/ -> /home/user/site.com/index/segment1/segment2/
[perdir /home/user/site.com/] add path info postfix: /home/user/site.com/index/segment1/segment2/ -> /home/user/site.com/index/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/index/segment1/segment2//segment1/segment2 -> index/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] applying pattern '^index/(.*)$' to uri 'index/segment1/segment2//segment1/segment2'
[perdir /home/user/site.com/] rewrite 'index/segment1/segment2//segment1/segment2' -> 'segment1/segment2//segment1/segment2'
[perdir /home/user/site.com/] add per-dir prefix: segment1/segment2//segment1/segment2 -> /home/user/site.com/segment1/segment2//segment1/segment2
[perdir /home/user/site.com/] add path info postfix: /home/user/site.com/segment1/segment2//segment1/segment2 -> /home/user/site.com/segment1/segment2//segment1/segment2/segment1/segment2
[perdir /home/user/site.com/] strip per-dir prefix: /home/user/site.com/segment1/segment2//segment1/segment2/segment1/segment2 -> segment1/segment2//segment1/segment2/segment1/segment2
[perdir /home/user/site.com/] applying pattern '^(.*)$' to uri 'segment1/segment2//segment1/segment2/segment1/segment2'
[perdir /home/user/site.com/] rewrite 'segment1/segment2//segment1/segment2/segment1/segment2' -> '/segment1/segment2//segment1/segment2/segment1/segment2/'
[perdir /home/user/site.com/] explicitly forcing redirect with Для просмотра ссылки Войди
[perdir /home/user/site.com/] escaping Для просмотра ссылки Войди
[perdir /home/user/site.com/] redirect to Для просмотра ссылки Войди
Кто-то занимался такой фигней? Может у кого-то есть мысли, подсказки?