FilesMatch в ЧПУ

beg_mysql

Новичок
С обработкой урла через FilesMatch проблем нет.
А как дальше отобразить нужный урл?
1) если через header, то в браузере отображается реальный урл - а не хотелось бы.

Через инклюд можно реализовать? Или еще как-то?
 

beg_mysql

Новичок
Нужный урл = красивый для поисковика урл.
Например, нужный урл somesite/tovar/panasonic_a18

Этот урл через FilesMatch отлавливаю, в базе нахожу, что его реальный урл - somesite/tovar/tovar.php?id= и т.п.

Если дальше через header, то в адрессной строке отображается реальный урл
 

Фанат

oncle terrible
Команда форума
забавно

-~{}~ 23.08.05 14:26:

ты не ответил на первый вопрос.

вообще, в меня закрадывается подозрение, что ты не очень понимаешь, что такое ЧПУ, зачем оно, и как им пользоваться.
 

beg_mysql

Новичок
Автор оригинала: Фанат
забавно
-~{}~ 23.08.05 14:26:
ты не ответил на первый вопрос.
Затем, например, чтобы Апорт индексировал все страницы, а не выбирал из страниц типа ".php?" что индексировать, а что нет.

Или ты не согласен, что у Апорта и Рамблера приоритет к ссылкам, не содержащим ? и php
 

Фанат

oncle terrible
Команда форума
тут вопрос не в апорте.
а в логике.
откуда твой апорт возьмёт страницу с .php?

какая-то у тебя дурная каша, я не могу даже понять, что именно ты не догоняешь.

ты к своему сайту обращаешься по "красивому" урлу?
в адресе у тебя - он же?
так нафига тогда какие-то перенаправления с адресами?

-~{}~ 23.08.05 15:15:

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

тебе надо разобрать урл на переменные и использовать их в скрипте, чудик!
причём для этого тебе даже не нужен реальный из базы - можно и красивый разобрать.
 

beg_mysql

Новичок
Автор оригинала: Фанат
о.
кажется, дошло.
ты имеешь этот свой реальный урл, но не знаешь, что с ним делать.
пытаешься перенаправить на него.
анекдот.
Да, именно это я и хочу

Автор оригинала: Фанат
тебе надо разобрать урл на переменные и использовать их в скрипте, чудик!
причём для этого тебе даже не нужен реальный из базы - можно и красивый разобрать.
Да урл я и так разбираю на переменные.
Скажи мне простую вещь, зная реальный урл как отобразить эту страницу.
Если это можно сделать обычным инклюдом - то вопросов нет.
У меня с инклюдом ошибка выскакивает.
 

Фанат

oncle terrible
Команда форума
это чудовищно.
человек делает ЧПУ, но не знает, как он будет обрабатывать адрес.

зная реальный урл как отобразить эту страницу.
ничего знать не нужно, никаких реальных урлов.
надо ПРОСТО, ОБЫЧНЫМ ПОРЯДКОМ, выполнять свой скрипт.

ты вообще хоть что-нибудь смыслишь в пхп? можешь скрипт написать, который выводит переменные?
Ну так тогда какая проблема-то?
чем в принципе отличается вызов через чпу, от вызова по реальному адресу?
и там и там есть скрипт, в который передаются переменные.
берёшь имя скрипта из чпу, присваиваешь переменным значения из чпу, и инклюдишь скрипт.
что тут может быть непонятного?

У меня с инклюдом ошибка выскакивает.
Я уже задолбался объяснять людям с неполным начальным образованием.
Ошибка выскакивает - это лепет обкакавшегося младенца. который не в состоянии пояснить проблему, а может только рыдать.
Если же ты отягощён хоть каплей интеллекта, то тебя должен интересовать не факт наличия ошибки, а её ТЕКСТ. в котором ГОВОРИТСЯ, как её исправить.
Если не хватает ума самому понять, то хотя бы на форум её написать можно?
 

alexhemp

Новичок
Фанат

Может быть ему посоветовать делать еще один запрос?

Т.е. схема конечно извращенная, тем не менее - может
сработать, увеличивая нагрузку

т.е.

1. Получили запрос
2. Посмотрели в бд исходный URL
3. Сделали подзапрос, получили по нему контент
4. Отобразили его

Я кончено понимаю, что это не педагогично, тем не менее - может работать :)
 

Фанат

oncle terrible
Команда форума
это ему не поможет.
судя по всему, он пытается натянуть чпу на готовый сайт.
вбил в базу соответствие урлов (боле бессмысленную операцию придумать трудно!) и тпепрь, как кильку из банки, достаёт свой реальный урл и инклюдит тупо
include '/tovar/tovar.php?id= ';

у него проблема не в контенте.
а в том, что он не понимает ,что он делает
 

beg_mysql

Новичок
Автор оригинала: Фанат
это ему не поможет.
судя по всему, он пытается натянуть чпу на готовый сайт.
Да, так и есть
Но ЧПУ не с помощью mod_rewrite на лету, а через MatchFiles (если я правильно понимаю, то по принице аналогично 404)

Автор оригинала: Фанат
вбил в базу соответствие урлов (боле бессмысленную операцию придумать трудно!) и тпепрь, как кильку из банки, достаёт свой реальный урл
в базу не вбивал, а нахожу id по наименованию (например)

Автор оригинала: Фанат
и инклюдит тупо
include '/tovar/tovar.php?id= ';
А вот это не получается, сейчас делаю с помощью header("Location)

Скажи как по другому?
 

Фанат

oncle terrible
Команда форума
я позволю себе повторить вопрос
берёшь имя скрипта из чпу, присваиваешь переменным значения из чпу, и инклюдишь скрипт.
что тут может быть непонятного?
 

beg_mysql

Новичок
Объясни мне тогда принцип обработки по ошибке 404.
Я понимаю так, что если файл не найден, то обрабытваем скриптом и по значениям $REQUEST_URI нахожу, что мне нужно "подставить" вместо 404 ошибки.
Или я глубоко ошибаюсь в принципе?
 

Фанат

oncle terrible
Команда форума
Я понимаю так, что если файл не найден, то обрабытваем скриптом и по значениям $REQUEST_URI нахожу, что мне нужно "подставить" вместо 404 ошибки.
куда подставить? в файл конфигурации веб-сервера?

перечитай моё предыдущее сообщение.
там ВСЁ написано.

ну я повторю ещё раз, но терпение моё иссякает.
с ЧПУ принцип работы пхп скрипта ТАКОЙ ЖЕ, как БЕЗ.

как работает пхп скрипт? Получает данные, выполняет код.
с ЧПУ - то же самое.
получили данные, исполнили код.
всё ОДИНАКОВО.
прочто чуть-чуть различается способ попадания переменных в скрипт.
стандартно они приходят после парсинга строки запроса, а в ЧПУ - после парсинга строки чпу.
остальное О-ДИ-НА-КО-ВО!
 

beg_mysql

Новичок
Так и я о том же.
Что при обычном инклюде все нормально идет.
А в моем случае ошибка
"Warning: main(): Failed opening 'goods.php?goods=BenQ DC C51' for inclusion (include_path='./:/usr/local/share/pear/')"
 

Фанат

oncle terrible
Команда форума
инклюдить
надо
ФАЙЛ!
а не УРЛ!
у тебя есть на диске файл 'goods.php?goods=BenQ DC C51' , чудик?
 

beg_mysql

Новичок
Есть файл goods.php.
Да, точно я пытаюсь УРЛ заинклюдить и удивляюсь почему не так.

Слушай, твои нервы уже ,наверно, на пределе
как тогда в этом случае быть?
 
Сверху