Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Ваш читатель просит помощи. Apache. mod_rewrite

Сообщения:  [1-10]   [11-19] 

 
 автор: Trianon   (04.02.2010 в 00:09)   письмо автору
 
   для: LINKIN   (03.02.2010 в 23:39)
 

Чисто технически ничего сложного нет.
Скрипт получил строку, обратился к SQL-серверу с запросом, какому внутреннему документу (или скрипту) соответствует тайтл-адрес, получил ответ, загрузил документ/выполнил скрипт.
Правда, делать эту технологию именно для прогноза погоды на указанное число - кич (никому не нужный выпендреж иными словами).

  Ответить  
 
 автор: LINKIN   (03.02.2010 в 23:39)   письмо автору
 
   для: Trianon   (03.02.2010 в 22:50)
 

Так а как? Хочешь сказать, что они гетами передают тайтлы?

  Ответить  
 
 автор: Trianon   (03.02.2010 в 22:50)   письмо автору
 
   для: LINKIN   (03.02.2010 в 21:48)
 

Одно из трех.
Либо именно по описанному принципу
Переброс с кучерявой ссылки на скриптовый жесткий адрес типа daily_wheater.php?day=chetver-4-lyutogo

Либо статический файл с прогнозом и с длинным именем.

Либо первый вариант, формирующий кешированный статический файл с длинным именем, и последующий переброс на него.
(в рамках 404-го обработчика)

  Ответить  
 
 автор: LINKIN   (03.02.2010 в 21:48)   письмо автору
 
   для: Trianon   (03.02.2010 в 21:19)
 

Ок. Все принимается. Объясните тогда мне как реализовано вот это
http://tsn.ua/ukrayina/prognoz-pogodi-v-ukrayini-na-chetver-4-lyutogo.html

  Ответить  
 
 автор: Trianon   (03.02.2010 в 21:19)   письмо автору
 
   для: LINKIN   (03.02.2010 в 19:50)
 

>В убеждаете что mod_rewrite предназначен для переделки /ru/company.htm в index.php?action=company&lang=ru, а не наоброт?

Я знаю, для чего предназначен этот инструмент.
Убеждать в чем-либо кого-либо против его воли я буду лишь за отдельные деньги.


>Ситуация полностью наоборот.

Что ж, давайте попробуем рассмотреть.

>У меня имеется
>1) ссылка в html-коде виде index.php?action=company&lang=ru

Хорошо. Есть ссылка, при клике порождающая запрос GET index.php?action=company&lang=ru


>У меня не имеется, но необходим
>2) скрипт, который ссылку index.php?action=company&lang=ru переделывает ...

Скрипты не переделывают ссылки. Скрипты обрабатывают запросы.
php-скрипт index.php способен обработать запрос (1) без помощи рерайтов.

>...в /ru/company.htm

>Я желаю, чтобы сервер, принимающий запрос по ссылке (1) подставлял виртуальную ссылку (2) в поле ссылки браузера.

полем ссылки Вы называете очевидно адресную строку браузера.
поставить туда скрипт может всё что угодно безо всякого рерайта, безо всяких регулярок.
Делается это вызовом функций header("Location: другой_адрес"); exit();
Но ведь браузер же по этому адресу /ru/company.htm тут же сделает попытку перейти!
И тогда мы придем к тому, с чего начали диалог.
Потребуется, чтобы сервер перенаправлял запрос /ru/company.htm скрипту index.php?action=company&lang=ru перед непосредственной обработкой.

  Ответить  
 
 автор: heed   (03.02.2010 в 20:34)   письмо автору
 
   для: LINKIN   (03.02.2010 в 01:35)
 

>например RewriteCond %{QUERY_STRING} ^id=([0-9]+)&parent=([0-9]+)

как я и говорил, это только с RewriteCond и переадресацией для того чтобы в браузер дать другую ссылку

например ссылка обязятельно имеет первым параметром
action="слово"
, а вторым
lang=ru
, index.php как-бы должен-бы лежать в корне сайта, тогда будет примерно так

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^action=([a-z_]+)&lang=([a-z]+)
# Rule будет обрабатываться только в случае совпадения в Cond
RewriteRule ^index.php$ %2/%1.html [R]
# [R] - переадресация
# не проверял

  Ответить  
 
 автор: LINKIN   (03.02.2010 в 19:50)   письмо автору
 
   для: Trianon   (03.02.2010 в 19:25)
 

Ситуация полностью наоборот. В убеждаете что mod_rewrite предназначен для переделки /ru/company.htm в index.php?action=company&lang=ru, а не наоброт?

У меня имеется
1) ссылка в html-коде виде index.php?action=company&lang=ru
У меня не имеется, но необходим
2) скрипт, который ссылку index.php?action=company&lang=ru переделывает в /ru/company.htm

Я желаю, чтобы сервер, принимающий запрос по ссылке (1) подставлял виртуальную ссылку (2) в поле ссылки браузера.

  Ответить  
 
 автор: Trianon   (03.02.2010 в 19:25)   письмо автору
 
   для: LINKIN   (03.02.2010 в 18:42)
 

>Хорошо. Я вообще в статьях именно такой принцип вычитывал. Как тогда сделать? Что необходимо написать чтобы добиться такого результата.
>Сейчас ссылка index.php?action=company&lang=ru
>Мне надо /ru/company.html

Перевожу на русский язык.

У Вас имеются:

1) ссылка в html-коде вида <a href=/ru/company.html >ссылка</a>
2) cкрипт, который умеет обрабатывать запрос вида index.php?action=company&lang=ru

Вы желаете, чтобы сервер, воспринимающий запрос по ссылке(1), пересылал/перенаправлял/переадресовывал его (запрос) скрипту (2) перед непосредственно обработкой. С сохранением функциональности - то есть работоспособным образом.

Только так и никак иначе.

  Ответить  
 
 автор: LINKIN   (03.02.2010 в 18:42)   письмо автору
 
   для: Trianon   (03.02.2010 в 16:08)
 

Хорошо. Я вообще в статьях именно такой принцип вычитывал. Как тогда сделать? Что необходимо написать чтобы добиться такого результата.
Сейчас ссылка index.php?action=company&lang=ru
Мне надо /ru/company.html

  Ответить  
 
 автор: Trianon   (03.02.2010 в 16:08)   письмо автору
 
   для: LINKIN   (03.02.2010 в 11:05)
 

>Я хочу добиться переадресации с index.php?action=about&lang=ru на /ru/about.html.

А по-моему - как раз наоборот.

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования