Поиск:

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

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



Доброго времени суток. Нужна помощь в написании условий для модреврайта.

Ситуация следующая.

Есть ссылка типа 
http://mysite.org/en/folder/script.php?op=value

- Если такой скрипт существует, тогда нужно добавить в GET переменную lang=en
- Если такого скрипта не существует, тогда нужно проверить, а есть ли он по адрессу  http://mysite.org/folder/script.php (без "en"), и если есть, тогда передать работу ему и в в GET переменную lang=en
- Если и этого скрипта не существует, тогда работа передается http://mysite.org/index.php и опять же в GET параметр lang=en

Я такого ещё не делал. Буду очень благодарен за помощь!

PS. Если работа передается другому скрипту - все GET переменные должны тоже передаваться.

Это сообщение отредактировал(а) ST_Falcon - 10.1.2008, 16:48
PM MAIL ICQ   Вверх
MoLeX
Дата 10.1.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(ST_Falcon @  10.1.2008,  16:45 Найти цитируемый пост)
 Если такого скрипта не существует, тогда нужно проверить, а есть ли он по адрессу  http://mysite.org/folder/script.php (без "en"), и если есть, тогда передать работу ему и в в GET переменную lang=en


Код

<?php
$NameSript = $_SERVER["SCRIPT_NAME"];

if(is_file("./folder".$NameSript))
{
    header("Location: http://mysite.org/folder/script.php?lang=en");
}
else
{
    header("Location: http://mysite.org/index.php?lang=en");
}
?>


то или нето???


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
ST_Falcon
Дата 11.1.2008, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

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



MoLeX, не то :(. нужно сделать это все через apache mod_rewrite
PM MAIL ICQ   Вверх
eviluo
Дата 14.1.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.8.2007

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



присоединяюсь к вопросу
PM MAIL   Вверх
ST_Falcon
Дата 14.1.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

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



Ну что никто не знает? Даю 10 wmz тому, кто подскажет правильное решение.  smile 
PM MAIL ICQ   Вверх
ST_Falcon
Дата 17.1.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

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



всем спасибо. я кажется разобрался сам.
PM MAIL ICQ   Вверх
chiffa
Дата 20.1.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

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



ну так просвети людей
PM MAIL   Вверх
ST_Falcon
Дата 22.1.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

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



а чего же не поделиться. вот так я сделал

Код


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
    RewriteRule ^en/?$            /index.php?lang=en [L]
    
    # если файла нету в папке /en, тогда убираем /en из URL 
    # и перезапускаем процесс переобразований для нового URL
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 ^en$
    RewriteRule ^(en)/(.*)$        /$2?lang=en [QSA,N,L]
    
    # если файла вообще нету, тогда передаем управление /index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .                /index.php?op=finish [QSA,L]
</IfModule>

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




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


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

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