Forum Webscript.Ru
Программирование => PHP => Тема начата: fog от 17 Августа 2002, 19:46:37
-
У меня небольшой вопрос, который меня давно мучает.
Как сделать человекопонятный URL
http://server.com/articles/286
не используя mod_rewrite и не создавая кучи директорий?
Помогите пожалуйста, очень уж хочется такую красоту сделать.
Почему без использования мод реврайт? Тестирую скрипты под виндой, и немогу его настроить, что для этого нужно сделать, может кто подскажет? Но лучше без него :)
-
используй обработку 404-ой
Посмотри на webscript.ru поиск - ЧПУ
-
Да я читал по этому поводу...
Что-то у меня там не получилось... :(
-
Вот попробовал ещё раз, освежил воспоминания...
Прописываю в .htaccess путь к файлу в случае 404 и 403
Всё работает в Нетскейпе, в ИЕ ошибка... сами знаете, пихает всякую дрянь на экран.
Прописываю в индексе (который в случае 404)
header("http/1.0 200 Ok");
echo $REQUEST_URI;
?>
и тут у меня оба браузера сообщают об ошибке 500... в чём дело -- непонятно.
Это лечится?
-
попробуй header ("HTTP/1.0 200 Ok");
-
Неработает... :(
-
Вобщем я так понял у меня что-то с апачем...
при попытке записать что угодно вроде:
header("HTTP/1.1 200 OK");
или
Header("HTTP/1.0 401 Unauthorized");
500я ошибка...
куда копать?
-
У тебя по ходу РНР как CGI стоит.
Поставь, как модуль
-
header("Status: 404 Not Found");
-
Аа... вот в чём дело! а кто-нибудь скажет как сго поставить как модуль под windows?
И можно ли это сделать не перекомпилируя его?
-
А ты его как цги разве компилировал? :-))))
Как переставить, недавно писали на РНР Клубе.
Сам я точных директив не помню.
сегда ставлю сразу, как модуль.
-
Ну так напиши плиз КАК ты это делаешь...
или дай ссылку на мануал... :)
-
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 файлы и предлогает их сохранить на диск.... :(
Может есть какие-нибудь идеи?
-
о, не знаю.
я ставлю РНР либо с http://php.spb.ru либо по статье с http://www.dklab.ru
Ни разу еще проблем не было. Соответственно, я и не знаю, как исправлять :-)
-
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.
Я это решил прописыванием абсолютных путей при инклудах.
-
Да, но как передать эту строку в индекс, чтобы небыло 404
или я чего-то недопонял?
-
Это он недопонял.
Расслабься.
Никак.
-
http://forums.webscript.ru/showthread.php?s=&postid=18161#post18161
-
fog ещё можно назначить своего обработчика ;) Только тогда тебе прийдётся создать папку articles, и в конце дописывать расширения (например: site.ru/article/279.html),
-
Макс
если быть совсем точным, то
header("Status: 200 OK")
а то ж дословно и скопируют. И модулей не надо никаких.
;)