![]() |
|
|
![]()
|
|
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Пожалуйста помогите написать mod_rewrite с:
rusoft/rus/games/arcade на: rusoft.php?directory=rus/games/arcade Пробовал использовать два примера с этого форума, но ни один не работает: 1.
2.
Что я сделал не так? |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
|
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Именно так я и пробовал. Попробовал на всякий случай ещё раз, не получилось. Может у меня Апач старый? Но у провайдера, равно как и у меня, работает например такое правило:
на основе чего я попробовал сделать:
но и это не помогло PS. Апач перед каждым тестом перезапускал. |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
А в чем выражается "не работает"
Вот так глянь:
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Так я тоже пробовал, попробовал ещё раз - результат - 0.
То есть так всё работает: http://www.wolf-ware.ru/rusoft.php?directo...rnet/developing А так - нет: http://www.wolf-ware.ru/rusoft/rus/internet/developing Другие реврайты (я привёл один) работают нормально. О моём Апаче: Apache License Version 2.0, January 2004 И ещё одна странность с моим Апачем - пример, который работает на моём сайте, не сработал на чужом сайте (так мне сказали). |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Wolf1994
поступаем так:
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Не переписывает
Файл rusoft.php находит, но параметр не подходит. Может там, в конце URL, автоматом ставится слэш - /, а ведь для параметра он не подходит. Как его можно опустить? rus/internet/developing/ > rus/internet/developing |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Попробуй * заменить на +
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Не помогло.
Выводится файл rusoft.php, причём с неподключённым CSS файлом - то есть как бы из другого директория (где таблицы стилей нет). Переменная $directory=="". Может как-то по-другому надо описывать слэш? Всё-таки он используется как управляющий символ... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Нет. Не секрет, что за хостинг, т.к. что-то тут не так... |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Пока тестирую в офф-лайн, на Денвере. Причём PHP5 там подключён как внешний CGI-модуль, что привело к немного некорректной обработке .htaccess - ошибки и регистер_глобалс надо указывать непосредственно в PHP-конфиге. Но реврайт работает без проблем:
- Все эти команды выполняются правильно. Непонимаю почему не работает вариант со слэшами PS. А что, дело в хостинге? Данный пример протестирован? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
ПРобуем так:
RewriteRule ^rusoft/([A-Za-z/0-9]+) /rusoft.php?directory=$1 ЗЫ: 0-999 зачем? Тут может быть только 0-9. И еще, я бы в конце каждого правила [L] поставил. |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Брал готовый пример, на основе которого и делал все остальные варианты.
А что это даёт? Чтобы быть точным, обозначу в чём проблема: RewriteRule ^rusoft([0-9999]+)\.html /rusoft.php?directory=$1 переписывает rusoft1.html на rusoft.php?directory=1 но: RewriteRule ^rusoft/([0-9999]+)\.html /rusoft.php?directory=$1 НЕ переписывает rusoft/1.html на rusoft.php?directory=1 То есть всё дело в слэше. |
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Всё. Справился
Написал: RewriteRule ^rusoft([A-Za-z/0-9]+) /rusoft.php?directory=$1 В результате при запросе: rusoftrus/internet/developing - получил: rusoft.php?directory=rus/internet/developing С одним "но". Страница сайта грузилась с неподключённым CSS-файлом. Выход: RewriteRule ^rusoft_([A-Za-z_0-9]+) /rusoft.php?directory=$1 То есть запрашивать: rusoft_rus_internet_developing, а потом перписывать в принятом параметре rus_internet_developing на rus/internet/developing P.S. Подумал и сделал проще: RewriteRule ^rusoft_([A-Za-z/0-9]+) /rusoft.php?directory=$1 А для CSS-файла прописал: <base href="http://www.wolf-ware.ru/"> P.P.S. Как могло получится, что при переписывании URL, браузер считает рабочим - директорий из непереписанного URL?!. Это сообщение отредактировал(а) Wolf1994 - 14.11.2005, 04:03 |
|||
|
||||
| Naruvi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 9.6.2005 Где: Москва Репутация: нет Всего: 1 |
читай здесь: http://webz.priop.ru/jumper.php?goto=106
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |