Forum Webscript.Ru

Общие => Веб Сервера => Тема начата: Boatman от 31 Июля 2002, 13:54:50

Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Boatman от 31 Июля 2002, 13:54:50
Есть такой способ создания человеко-понятных урлов:
в файле .хтаксесс добавляешь -

Action parser /index.php


ForceType parser


и все начинающееся с /content в строке браузера будет передано в /index.php.

Но вот проблема - если я хочу обрабатывать не только виртуальную папку «content», а все, что бы юзер в строке после имени сервера  ни ввел, то надо использовать FIlesMatch, который сильно тормозит и практически вешает мой апач (win98se, apache 1.3.20 php4.2.1 as a module)

как быть?
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: ThE0ReTiC от 31 Июля 2002, 14:07:50
Boatman
Никак. 98 не сетевая система.
Вариант 1: проверить на UNIX машине (у хостера, например)
Вариант 2: Поставить Вынь2000.
Вариант 3: Поставить Апач 2.0.39 - он работает быстрее

Лучше использовать первые два варианта.
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Boatman от 31 Июля 2002, 14:18:33
При чем тут сеть, я локально тестю.

Проверил я у хостера - не дождался ответа сервера 8-0
 не знаю, что он теперь мне сделает :-)
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: ThE0ReTiC от 31 Июля 2002, 14:40:37
Boatman
Значит директива криво написана.
И вообще, зачем все так усложнять?
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Boatman от 31 Июля 2002, 23:00:47
пусть лучше сложности будут у программера, чем потом у юзера.

Директива нормально написана, пробовал много вариантов:
 ".{5,}"
 "[a-z0-9]+"
etc...

Может кто подскажет куда можно еще обратиться с этой проблемой, какие зарубежные хорошие форумы?
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: fog от 18 Августа 2002, 18:40:53
Boatman
Цитировать
Есть такой способ создания человеко-понятных урлов:
в файле .хтаксесс добавляешь -

Action parser /index.php


ForceType parser



А можно поподробнее, как это делается?
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Tronyx от 18 Августа 2002, 21:04:33
Boatman попробуй через mod_rewrite, вот тут (http://SiteMaker.Ru/) есть 4 классных статьи на эту тему.

P.S. А кто-нибудь знает mod_rewrite под фортачками глючит??? Мне кажется что да, но может это только у меня такое. :(
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: ThE0ReTiC от 19 Августа 2002, 12:08:30
Цитировать
mod_rewrite под фортачками глючит

Нет
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Tronyx от 19 Августа 2002, 14:04:23
Цитировать
Нет

Вот кусок из моего лога:

add path-info postfix: c:/home/portal/www/info -> c:/home/portal/www/info/work/index.html
strip per-dir prefix: c:/home/portal/www/info/work/index.html -> info/work/index.html
applying pattern \'^([a-z\\.]+)/(.+)\\.html$\' to uri \'info/work/index.html\'
rewrite info/work/index.html -> info.work/index.html
add per-dir prefix: info.work/index.html -> c:/home/portal/www/info.work/index.html
add path-info postfix: c:/home/portal/www/info.work/index.html -> c:/home/portal/www/info.work/index.html/work/index.html

Как видишь ошибка в последней строке и в результате этого происходит зацикливание :(, это уже действие модуля и моя рега на это не влияет, а это .htaccess:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^([a-z\\.]+)/(.+)\\.html$ $1.$2.html [N]
RewriteRule ^(.*)\\.html$ /cash/$1.htm

В примере я запросил этот УРЛ: "http://portal/info/work/index.html"
Нужно получить это: "http://portal/cash/info.work.index.htm"

Что скажешь ThE0ReTiC?
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Unregistered от 19 Августа 2002, 17:30:39
2fog:
http://www.sabren.net/code/php/snurk/ — тут подробнее.
Если получится решить мою проблему — дай знать.

2All:
С мод_рерайт большого ума не надо :)

В том-то и прикол, чтоб не используя никаких модулей, все работало.
Во-первых это хостеронезависимое решение (вдруг у него нет мод_рерайт),
и во-вторых ПМСМ это, пусть незначительно, но быстрее чем с мод_рерайт.
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: ThE0ReTiC от 19 Августа 2002, 17:34:18
Unregistered
Сильно сомневаюсь, что это работает быстрее.
Потом на всех нормальных хостингах дают mod_rewrite по умолчанию...
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: Boatman от 19 Августа 2002, 17:57:57
Обьясни свое сомнение.
Ведь по-моему не запустить модуль гораздо проще чем запустить.
Название: Проблемка с ЧПУ при помощи .хтаксесс
Отправлено: ThE0ReTiC от 19 Августа 2002, 18:51:04
Дело в том, что при использовании mod_rewrite ты пользуешься специально предназначенной для решения подобных задач скомпилированной библиотекой, а при использовании хостеронезависивых вещей, обработка происходит при помощи интерпретируемого языка, который специально под это не заточен и работает медленнее, нежели скомпилированный софт.
К тому же ты дополнительно нагружаешь mod_php