| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > Создание регекспа для vingrad.ru/VF-CPP-000002 |
| Автор: Wowa 21.10.2004, 18:04 |
| Требуется настроить mod_rewrite так, чтобы при заходе на сайт по этому адресу http://vingrad.ru/VF-CPP-000002 происходил редирект на forum.vingrad.ru/index.php?id=2 Т.е. отсекается все кроме цифр Тут важно написать регексп как можно более точно, чтобы не было ложных срабатываний и нагрузка на сервер сильно не повышалась бы Желательно, чтобы регексп мог различить также конструкцию типа: VF-CPP-lalala-000002 VF-CPP-000002 - это всего лишь пример! Буквы и цифры могут быть любые! Думаю надо копать в направлении(если идут в начале две или три буквы, а после с них стоит знак -, и все выражение заканчивается шестью(!) цифрами, то отсекаем ненужное и делаем редирект. |
| Автор: arial 21.10.2004, 20:17 |
| Если отсекать только последние 6 цифр, то: RewriteRule ([0-9]{6})$ index.php?a=$1 [L] |
| Автор: Wowa 22.10.2004, 02:20 | ||
В принципе, можно было бы вообщк ничего не отсекать, а так передавать, только проблема в том, что на сайте есть куча нормальных файлов и я боюсь, если редирект будет тогда, когда не ждали |
| Автор: GoodBoy 22.10.2004, 11:22 | ||||||
| Я так понял, что кроме цифр нам больше ничего и не нужно??? только обязательно в .htaccess первой строкой должно быть:
Только я не знаю как сделать редирект между разными доменами... как вариант можно вот так:
а в файле redir.html прописать вот это:
Проверил - вроде работает... |
| Автор: Wowa 22.10.2004, 11:44 | ||||
Да, но оно и не может помешать тоже, т.к. пхп скрипт тогда сам отсечет. Самое главное, это очень четко различать, что нужно вызвать не просто файл, а сделать переадресацию, если в строка такого типа поступила. Добавлено @ 11:45
Я создал на хосте vingrad.ru просто Symbolic Link для файла index.php, который ссылается на форумовский файл. |
| Автор: GoodBoy 22.10.2004, 11:50 | ||||
Тогда юзай мой метод!!! :-))))))) Можно только ещё вот так сделать:
тогда будет разпознаваться любая последовательность, начинающаяся с "VF-", после которой будет любое количество символов латинского алфавита и/или знаков "-", после которых будут стоять произвольное количество цифр.
Ну так может и ещй проще!!! Но мой вариант с редиректом - тоже работает! |
| Автор: Wowa 22.10.2004, 12:20 | ||
Весь фокус в том,что это не всегда начинается с VF. Начинаться может с любого сочитания символов. |
| Автор: GoodBoy 22.10.2004, 12:40 | ||||
ну тогда вот так:
|
| Автор: korob2001 24.10.2004, 13:48 | ||
Символы могут быть как строчными, так и заглавными? |
| Автор: Wowa 24.10.2004, 16:30 | ||
да. Если это усложняет, то можно оставить только заглавные. |
| Автор: Cheba 24.10.2004, 16:53 | ||
|
| Автор: GoodBoy 25.10.2004, 10:39 | ||
А мой последний вариант не подходит? |
| Автор: Cepera 25.10.2004, 16:19 |
| |
| Автор: Wowa 25.10.2004, 20:09 | ||||
нет, весь фокус в том, что адрес должен быть короткий. вида: http://vingrad.ru/VF-CPP-000002 Добавлено @ 20:11
Ну в линуксе есть такое понятие Symbolic Link. Типа ярлыка в виндоусе. А проблем не будет думаю,т.к. я прохоже уже провернул с ссылками на профайлы участников форума. |
| Автор: Cepera 26.10.2004, 00:08 | ||||
так положить index.php и обрабатывать все запросы ;) как у меня домен http://www.webarama.com.au на одном файле крутится |
| Автор: Wowa 26.10.2004, 00:38 |
| Cepera Т.е. например, при переходе по этой ссылке: http://www.webarama.com.au/web-hosting/hosting-packages/email-package/ эти параметры сразу передаются index.php? Но ведь все равно для этого mod_rewrite используется? |
| Автор: Cepera 26.10.2004, 00:47 | ||
нет
Добавлено @ 00:48 ничего другого в хтаксесс нет |
| Автор: Wowa 26.10.2004, 00:52 |
| ну мне не кажется это изящным решением в mod_rewrite можно точно также регекспы обрабатывать, как в ПХП. |
| Автор: Cepera 26.10.2004, 00:56 |
| а мне показалось самым удобным ;) ведь тогда логгируются все некорректные запросы (404, 403, 500 etc) Добавлено @ 00:56 (в бд, а не где-то в тхт-файл) Добавлено @ 00:57 Володь, если решение потребуется - стучи в аську, написал ее ... к старой вернулся ;) |
| Автор: GoodBoy 26.10.2004, 11:22 | ||
| Admin Вот тебе последний вариант. Пропиши в .htaccess следующее:
правила перенаправления оказывается работают между доменами! :-) |
| Автор: Wowa 3.11.2004, 16:24 |
| GoodBoy Работает, но в конце всегда стоит 6 цифр. Может указать это, чтобы не было ложных срабатываний? |
| Автор: GoodBoy 3.11.2004, 16:52 | ||||
| Admin тогда вот так:
А если всё-же интересно что там было написано впереди, то можно вот так:
|