Forum Webscript.Ru

Программирование => PHP => Тема начата: fog от 17 Августа 2002, 19:46:37

Название: Разбор URL
Отправлено: fog от 17 Августа 2002, 19:46:37
У меня небольшой вопрос, который меня давно мучает.

Как сделать человекопонятный URL

http://server.com/articles/286

не используя mod_rewrite и не создавая кучи директорий?
Помогите пожалуйста, очень уж хочется такую красоту сделать.


Почему без использования мод реврайт? Тестирую скрипты под виндой, и немогу его настроить, что для этого нужно сделать, может кто подскажет? Но лучше без него :)
Название: Разбор URL
Отправлено: Britva от 17 Августа 2002, 20:27:14
используй обработку 404-ой
Посмотри на webscript.ru поиск - ЧПУ
Название: Разбор URL
Отправлено: fog от 17 Августа 2002, 22:58:26
Да я читал по этому поводу...

Что-то у меня там не получилось... :(
Название: Разбор URL
Отправлено: fog от 17 Августа 2002, 23:28:15
Вот попробовал ещё раз, освежил воспоминания...

Прописываю в .htaccess путь к файлу в случае 404 и 403

Всё работает в Нетскейпе, в ИЕ ошибка... сами знаете, пихает всякую дрянь на экран.

Прописываю в индексе (который в случае 404)

header("http/1.0 200 Ok");
echo $REQUEST_URI;
?>

и тут у меня оба браузера сообщают об ошибке 500... в чём дело -- непонятно.

Это лечится?
Название: Разбор URL
Отправлено: xnx от 18 Августа 2002, 00:34:26
попробуй header ("HTTP/1.0 200 Ok");
Название: Разбор URL
Отправлено: fog от 18 Августа 2002, 02:38:34
Неработает... :(
Название: Разбор URL
Отправлено: fog от 18 Августа 2002, 02:54:40
Вобщем я так понял у меня что-то с апачем...
при попытке записать что угодно вроде:

header("HTTP/1.1 200 OK");

или

Header("HTTP/1.0 401 Unauthorized");

500я ошибка...

куда копать?
Название: Разбор URL
Отправлено: Меняздесьдавнонет от 18 Августа 2002, 12:53:57
У тебя по ходу РНР как CGI стоит.
Поставь, как модуль
Название: Разбор URL
Отправлено: Макс от 18 Августа 2002, 13:24:06
header("Status: 404 Not Found");
Название: Разбор URL
Отправлено: fog от 18 Августа 2002, 13:45:52
Аа... вот в чём дело! а кто-нибудь скажет как сго поставить как модуль под windows?

И можно ли это сделать не перекомпилируя его?
Название: Разбор URL
Отправлено: Меняздесьдавнонет от 18 Августа 2002, 14:48:10
А ты его как цги разве компилировал? :-))))
Как переставить, недавно писали на РНР Клубе.
Сам я точных директив не помню.
сегда ставлю сразу, как модуль.
Название: Разбор URL
Отправлено: fog от 18 Августа 2002, 15:39:30
Ну так напиши плиз КАК ты это делаешь...
или дай ссылку на мануал... :)
Название: Разбор URL
Отправлено: fog от 18 Августа 2002, 15:56:16
If you would like to use PHP as a module in Apache,
you should move php4ts.dll to the windows/system (for Windows 9x/Me)
or winnt/system32 (for Windows NT/2000) directory, overwriting any
older file. Then you should add the following two lines to you Apache
conf file:

LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php

----------------------

Я так пытался делать, но не знал что нужно php4ts.dll копировать в system32, поэтому у меня апач не мог найти модуль и не запускался... теперь запускается, но не смотря на строку addtype не хочет парсить php файлы и предлогает их сохранить на диск.... :(

Может есть какие-нибудь идеи?
Название: Разбор URL
Отправлено: Меняздесьдавнонет от 18 Августа 2002, 16:32:58
о, не знаю.
я ставлю РНР либо с http://php.spb.ru либо по статье с http://www.dklab.ru
Ни разу еще проблем не было. Соответственно, я и не знаю, как исправлять :-)
Название: Разбор URL
Отправлено: Гаррилл от 18 Августа 2002, 21:19:32
fog
Цитировать
http://server.com/articles/286

Есть ещё способ.
Желательно задавай все урлы через одну функцию. А там как хочешь их обрабатывай.

А вот из такого урла данные беруться так:

$var_array = explode("/",$REQUEST_URI);

$article=$var_array[1];
$number=$var_array[2];

И потом подставляй куда хочешь.

Но могут возникнуть и проблемы с путями при инклудах. Например,
я делал так: forum/topic/t286/ , где topic был файлом topic.php.
Я это решил прописыванием абсолютных путей при инклудах.
Название: Разбор URL
Отправлено: fog от 19 Августа 2002, 21:52:38
Да, но как передать эту строку в индекс, чтобы небыло 404

или я чего-то недопонял?
Название: Разбор URL
Отправлено: Меняздесьдавнонет от 19 Августа 2002, 22:53:30
Это он недопонял.
Расслабься.
Никак.
Название: Разбор URL
Отправлено: Alexandr от 20 Августа 2002, 08:44:55
http://forums.webscript.ru/showthread.php?s=&postid=18161#post18161
Название: Разбор URL
Отправлено: Tronyx от 20 Августа 2002, 09:01:20
fog ещё можно назначить своего обработчика ;) Только тогда тебе прийдётся создать папку articles, и в конце дописывать расширения (например: site.ru/article/279.html),
Название: Разбор URL
Отправлено: Oak от 21 Августа 2002, 01:15:48
Макс
если быть совсем точным, то
header("Status: 200 OK")

а то ж дословно и скопируют. И модулей не надо никаких.
;)