mod_rewrite, проблема

sasha_tinkoff

Новичок
mod_rewrite, проблема

Хочу чтоб у меня была структура каталогов такая:
www.site.ru/section1/section2/section3/section4/

Мой .htaccess:
RewriteEngine On
RewriteOptions MaxRedirects=1
RewriteRule ^([^/]*)/$ /index.php?section1=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /?section1=$1&section2=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /?section1=$1&section2=$2&section3=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ /?section1=$1&section2=$2&section3=$3&section4=$4 [L]

В некоторые папки заходит нормально (на второй или первый уровень), на какие-то происходит зацикливание непонятное.
И еще, в некоторых случаях section1 читается как что-то.php, тоже непонятно.

Хелп ми плиз!!!
 

sasha_tinkoff

Новичок
к примеру для http://www.site.ru/begin/

var_dump($_GET) говорит:
array(1) {
["section1"]=>string(9) "begin.php"
}

Плюс, я понял, что он добавляет .php к GET-строке, если существуют такие же файлы (т.е. надо поменять выражение, над чем сейчас тружусь)

-~{}~ 07.11.07 15:49:

перенес подключаемые файлы (тот же begin.php) в другую директорию - проблема с зацикливаением ушла. Я почти рад.
И все таки, как надо перефразировать выражение чтоб файлы не подключались?
 

das6745

Новичок
у тебя в апаче в опциях наверное стоит автодополнение путей. почитай, а то я уже и не помню какая именно опция за это отвечает =)
 

das6745

Новичок
добавляет .php к GET-строке
за это отвечает опция в настройках хоста в апаче (у тебя же апач, верно?) и опция называется MultiViews, ее неплохо отключать сразу же после установки, у кого она включена.
 

sasha_tinkoff

Новичок
Ага, круто, за это пасиб!
А вот как быть с зацикливанием, никто не поможет?
 

das6745

Новичок
телепаты в отпуске. чем тебе помочь? ты даже не удосужился написать где ты хочеш такие урлы! никакой информации. просто хочеш и все. какой у тебя апач? у мну лично все прекрасно работает.
 

sasha_tinkoff

Новичок
apache денвер (Версия: Денвер-2 2006-10-04), мод-реврайт включен, ибо написано в первом посту, что в некоторые папки заходит, в некоторые нет.
Где я хочу такие урлы? Вот озадачил так озадачил.

Итак, конкретно:
при переходе по адресу /catalog/ сервер начинает ацки тормозить. По другим адресам заходит нормально.
Есть файл, в котором производится инклуд файлов в зависимости от того какой адрес, такой файлик подключается.
 

sasha_tinkoff

Новичок
>>А в 2-4 реврайтруле index.php опущен намеряно?
Абсолютно без разницы.

-~{}~ 07.11.07 16:33:

>>это пофигу
А какие еще данные надо)))?

-~{}~ 07.11.07 16:44:

ап
 

das6745

Новичок
читай внимательнее, это было не тебе, хотя резонное замечание если основной скрипт отличается названием от директорииндекса =)

я на 1.3 и на 2.2 пробовал все работает нормально. у тебя часом директории с таким же именем нету?

зы: апачаей версии "денвер" в природе нет, есть, к примеру 1.3, 2.0, 2.2, но это так, к слову. судя по дате сборки денвера немного древний =).
 

sasha_tinkoff

Новичок
Я просто не нашел версию, вот.
Проблему решил, просто в некоторых случаях я пепенаправлял хидером на другую страницу. Не поставив после хидера exit. Результат был налицо!
 

sasha_tinkoff

Новичок
Фак, ошибка осталась (хз почему она пропадала... кэш?)
ВОт что в логе (выдержка):
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www/ratings -> z:/home/gameportal/www/ratings/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ratings/ -> ratings/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/$' to uri 'ratings/'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (2) [per-dir z:/home/gameportal/www/] rewrite ratings/ -> ?section1=ratings
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (3) split uri=?section1=ratings -> uri=, args=section1=ratings
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (3) [per-dir z:/home/gameportal/www/] add per-dir prefix: -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (2) [per-dir z:/home/gameportal/www/] strip document_root prefix: z:/home/gameportal/www/ -> /
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12da640/initial] (1) [per-dir z:/home/gameportal/www/] internal redirect with / [INTERNAL REDIRECT]
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ ->
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/$' to uri ''
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ ->
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/$' to uri ''
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ ->
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/$' to uri ''
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ ->
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/([^/]*)/$' to uri ''
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] add path-info postfix: z:/home/gameportal/www -> z:/home/gameportal/www/
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/ ->
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/([^/]*)/([^/]*)/$' to uri ''
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12de640/initial/redir#1] (1) [per-dir z:/home/gameportal/www/] pass through z:/home/gameportal/www
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/index.php -> index.php
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/$' to uri 'index.php'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/index.php -> index.php
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/$' to uri 'index.php'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/index.php -> index.php
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/$' to uri 'index.php'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/index.php -> index.php
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/([^/]*)/$' to uri 'index.php'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] strip per-dir prefix: z:/home/gameportal/www/index.php -> index.php
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (3) [per-dir z:/home/gameportal/www/] applying pattern '^([^/]*)/([^/]*)/([^/]*)/([^/]*)/$' to uri 'index.php'
127.0.0.1 - - [08/Nov/2007:10:30:31 +0500] [gameportal/sid#e4eaf8][rid#12df3d0/initial/redir#2] (1) [per-dir z:/home/gameportal/www/] pass through z:/home/gameportal/www/index.php

......
Эт я еще остановил его...
 

das6745

Новичок
попробуй на чистом index.php, просто поставь там вардамп гет массива.
 
Сверху