ЧПУ и require_once();

Рейтинг: 0Ответов: 1Опубликовано: 04.05.2015

Здравствуйте, столкнулся с такой проблемой.

Есть УРЛ вида index.php?p=service&s=main

Хотел преобразовать его в такой вид: /service/main

При обращении из браузера по первому варианту всё подгружается нормально. При втором варианте выскакивает:

function.require-once ]: failed to open stream: Permission denied in Z:\home\domain.ru\www\index.php on line 33

В .htaccess лежит следующее:

RewriteRule ^service/([aA-zZ]+)? index.php?p=service&s=$1 [L]

В чем может быть проблема?

Аналогичная конструкция mod_rewrite отрабатывает нормально.

На строке 33 лежит следующее:

`$path = $_GET['s'];

require_once "private/$path";
`

UPD.

Вывел var_dump($_GET), отдало:

array(2) { ["p"]=> string(7) "service" ["s"]=> string(4) "m[L]" }

Т.е. почему то обрезало s=main до s=m.

===

Разобрался, забыл про последнюю правку htaccess, было так ([aA-zZ]), а надо так ([aA-zZ]+)

Ответы

▲ 1Принят

Причина всего - тупая человеческая невнимательность.

В .htaccess не было пробела перед флагом [L], соответственно, запрос и преобразовывался в ...etc/main[L] , и при инклюде, соответственно, пых не находил такой адрес и отдавал ошибку.

Всем спасибо за помощь!