Forum Webscript.Ru
Хостинг => Платный хостинг => Тема начата: Xander от 03 Июня 2002, 18:07:28
-
То есть какие есть способы преобазования url-а из
/foo/bar/quux/42, видимого на сайте, в /foo/index.cgi?cat=bar&item=quux&id=42, реально обрабатываемый сервером?
(Есть, насколько я помню, mod_rewrite, прожорливый до ресурсов, еще что-то вроде было, что - не помню)
Да, еще: http://www.hwn.ru что-нибудь такое предоставляет?
-
на hwn работает модрирайт. - см. mp.webscript.ru/demo/
еще - через ErrorDocument, засNрает логи, не всегда хорошо индексируется спайдерами
еще через httpd.conf прикручивают обработчик, но это не самый лучший вариант.
mod_rewrite не такой уж прожорливый, чтобы от него отказываться. я правда не замерял.
-
Или проще. Создать скрипт с именем "foo"
-
Или проще. Создать скрипт с именем "foo"
это не всегда проще ибо при этом надо заставить апач его обрабатывать соответствующим образом
-
То есть какие есть способы преобазования url-а из
/foo/bar/quux/42, видимого на сайте, в /foo/index.cgi?cat=bar&item=quux&id=42, реально обрабатываемый сервером?
Только что обсуждали:
http://forums.webscript.ru/showthread.php?s=&threadid=5681
http://forums.webscript.ru/showthread.php?s=&threadid=5957
-
Угу, спасибо, прояснили ситуацию. Видимо, ответом будет mod_rewrite.
-
Xander
А уверен, что дадут? Где хостишся?
-
Да, по поводу производительности:
цитатка из /htdocs/manual/mod/mod_rewrite.html:
Unbelievably mod_rewrite provides URL manipulations in per-directory context, i.e., within .htaccess files, although these are reached a very long time after the URLs have been translated to filenames. It has to be this way because .htaccess files live in the filesystem, so processing has already reached this stage. In other words: According to the API phases at this time it is too late for any URL manipulations. To overcome this chicken and egg problem mod_rewrite uses a trick: When you manipulate a URL/filename in per-directory context mod_rewrite first rewrites the filename back to its corresponding URL (which is usually impossible, but see the RewriteBase directive below for the trick to achieve this) and then initiates a new internal sub-request with the new URL. This restarts processing of the API phases.
Я это так понимаю, что когда ты не единоличный хозяин своего Апача, то можешь указывать соотв. директивы mod_rewrite\'у только в .htaccess, и они при этом будут выполняться гораздо медленне, чем будучи прописанными непосредственно в httpd.conf. Так?