Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mod_rewrite - не получается составить правила 
:(
    Опции темы
RomanK
Дата 4.12.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Задача:

Если есть запрос: http://site.ru/тут что угодно, либо ничего/
То надо преобразовать его в http://site.ru/index.php?section=тут что угодно, либо ничего

То есть если запрос просто: http://site.ru/
То и грузится будеть просто index.php.

НО:
Если "тут что угодно, либо ничего" равно "account", тоесть запрос такого вида: http://site.ru/account/
То грузим: http://site.ru/account.php

А если такой запрос: http://site.ru/account/что угодно/
То грузим: http://site.ru/account.php?section=что угодно.

Что у меня получилось:
Код

RewriteEngine on
Options +FollowSymlinks

RewriteBase /

RewriteRule ^.htaccess$ - [F]

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://site\.ru.* [NC]
RewriteRule .* - [F]

#RewriteRule ^\/$ index.php
RewriteRule ^(.*)\/$ index.php?section=$1

RewriteRule ^account\/(.*)/$ account.php?section=$1
RewriteRule ^account\/$ account.php


По отдельности последние три правила работают! Но когда врубаешь их все, происходит путаница. Всегда грузит index.php.
Как исправить? Спасибо!
PM MAIL WWW ICQ   Вверх
Imple
Дата 4.12.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1546
Регистрация: 14.9.2007
Где: Алма-Ата

Репутация: 1
Всего: 87



Подстановка под правила происходит сверху вниз, расположите правила в файле в порядке от частного варианта (в вашем случае account.php) до общего (index.php)


--------------------
Не шалю, никого не трогаю, починяю сервер.
PM WWW ICQ Skype GTalk Jabber   Вверх
RomanK
Дата 4.12.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Поменял все местами, и так и сяк... все равно подставляет index.php.

В index.php сделал:
Код

echo '<pre>';
print_r( $_GET );

При запросе http://site.ru/account/qwe/ запускает index.php.
Индекс выводит:
Код

Array
(
    [section] => account.php
)


В чем ошибка ? Подскажите пожалуйста!
PM MAIL WWW ICQ   Вверх
RomanK
Дата 4.12.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Похоже осилил! Необоходимо было после выполнение правил поставить [L]. Типа если правило выполнилось, то дальше не выполнять ничего! smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.