Умный redirect при помощи htaccess @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 15 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 13:35:00 
Нужно автоматизировать обычный Redirect permanent при помощи htaccess, а именно, при вводе www.domain.com/1234 форвардить на www.domain.com/script.php?id=1234

То есть,нужно, чтобы можно было подставлять любые числовые значение после домена, и передавать их как переменнную в скрипт.
Есть идеи?
D.D.Signmark
новый человек
0
Сообщения: 81
Зарегистрирован: 01.02.03
Откуда: minsk
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:18:00 
Так блин это не через htaccess делается. Это делается через страницу ошибки 404, туда и суется PHP-код, который и будет забирать переменные из $REQUEST_URI.
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:22:00 
Правда?! [img]amazed.gif[/img]

Как насчет этой HTA инструкции?
Redirect permanent /1234 http://www.domain.com/script.php?id=1234

Все, что нужно - автоматизировать эту строку...
D.D.Signmark
новый человек
0
Сообщения: 81
Зарегистрирован: 01.02.03
Откуда: minsk
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:27:00 
Да еханды бабай показываю код страницы 404 ошибки.

header("Location: /script.php?id=".basename($REQUEST_URI));

Проверки и функциональность добавляешь в зависимости от остальных требований.
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:41:00 
Твоя идея понятна, но 404 не подходит по определению - поисковики при получении 404 могут забанить сайт или понизить в рейтинге.

Поэтому и пытаюсь найти решение через .htaccess [img]bored.gif[/img]
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:43:00 
Это называется mod_rewrite.
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:45:00 
iD:
О! вот это шаг в правильную сторону :-)
Где можно прочитать об этом подробнее? Или пример реализации?
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:46:00 
Работает, если на Апаче установлен соответсвующий модуль.
Вот выдержки из моего .htaccess для старого хомяка:
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
RewriteEngine On

RewriteRule ^/$ index.php [L]

RewriteRule portfolio$ portfolio-e.php [L]
RewriteRule portfolio/$ portfolio-e.php [L]
RewriteRule portfolio/([a-z]+)$ portfolio-e.php?cat=$1 [L]
RewriteRule portfolio/([a-z]+)/$ portfolio-e.php?cat=$1 [L]

RewriteRule diary$ diary-e.php [L]
RewriteRule diary/$ diary-e.php [L]

RewriteRule archive$ archive-e.php [L]
RewriteRule archive/$ archive-e.php [L]
RewriteRule archive/([0-9]+)/([0-9]+)$ archive-e.php?year=$1&month=$2 [L]
RewriteRule archive/([0-9]+)/([0-9]+)/$ archive-e.php?year=$1&month=$2 [L]

RewriteRule archive/.+/$ archive/ [R]
RewriteRule archive/.+$ archive/ [R]
</pre><HR></BLOCKQUOTE>
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:48:00 
Спасиб, строчка содержит ответ
RewriteRule archive/([0-9]+)/([0-9]+)$ archive-e.php?year=$1&month=$2

который я долго искал [img]images/smiles/icon_smile.gif[/img]
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:52:00 
То есть:
url.ru дает на выходе index.php
url.ru/portfolio и url.ru/prortfolio/ показывают portfolio-e.php
url.ru/portfolio/foobar и url.ru/portfolio/foobar/ показывают portfolio-e.php?cat=foobar
url.ru/diary и url.ru/diary/ показывают diary-e.php
url.ru/archive и url.ru/archive/ показывают archive-e.php
url.ru/archive/2003/02/ и url.ru/archive/2003/02 показывают archive-e.php?year=2003&month=02

Более-менее понятно?
reyka
новый человек
0
Сообщения: 100
Зарегистрирован: 28.01.03
Откуда: Kiev
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:54:00 
Да, конечно. Спасибо еще раз.
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 14:54:00 
Не за что [img]smoke.gif[/img]
vexoid
новый человек
0
Сообщения: 295
Зарегистрирован: 15.12.02
Откуда: msk
Заголовок сообщения: Умный redirect при помощи htaccess
Сообщение Добавлено: 22 Февраль 2003, 21:08:00 
один большой вопрос, по поводу mod_rewrite
почему где то работает а где то не работает следующая конструкция ?
RewriteRule (\w+)-(\d+)$ $1.php?id=$2
такой же вопрос относительно
RewriteRule (\w+)/(\d+)/$ $1.php?id=$2

может кто-либо сможет пролить на это свет ?
ptitov
новый человек
0
Сообщения: 175
Зарегистрирован: 22.07.02
Откуда: Москва
Сообщение Добавлено: 26 Февраль 2003, 20:03:20 
Что означает "где то не работает"? Где именно?
ptitov
новый человек
0
Сообщения: 175
Зарегистрирован: 22.07.02
Откуда: Москва
Сообщение Добавлено: 26 Февраль 2003, 20:21:49 
1. mod_rewrite обрабатывает POSIX regular expressions, а не perl-compatible regular expressions
2. Если надо permament, то надо указать параметр R=permament
Код:
RewriteRule ([a-zA-Z]+)-([0-9]+)$ $1.php?id=$2 [R=permament]

Всякие подробности: http://httpd.apache.org/docs/mod/mod_re … ewriteRule
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 15 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100