Shtogrin

Shtogrin
Рейтинг
95
Регистрация
02.11.2006

.htaccess в work

RewriteEngine On

RewriteRule ^name/(.*)/$ name.php?p=$1 [L,QSA]

И проверяйте запросы

/work/name/123/

или .htaccess в корне

RewriteEngine On

RewriteRule ^name/(.*)/$ /work/name.php?p=$1 [L,QSA]

И проверяйте запросы

/name/123/

Если не работает приведите apache.log.

И что work такое в /work/name/123. Что то вы пишете здесь одно, а проверяете другое.

500 - ошибка сервера

адрес не тот набираете /name/123/

поэтому и нет файла, реврайт не срабатывает

Лог mod_rewrite вставить можете, есть доступ к httpd.conf? Меня больше всего смущает "No input file specified". Или хотябы что в логе access.log, какой код возврата.

----

name/123 не пройдет, надо name/123/ и ? уберите

Nickk:
Я уже разобрался сделав вот так:
RewriteRule ^(.*)/(.*)/$ catalog.php?brand=$1&name=$2 [QSA]
RewriteRule ^(.*)/$ catalog.php?brand=$1&name=$2 [QSA]
А что значит буква L в твоем примере?

Второе не совсем правильно, $2 нет

L - последнее правило, если сработало то дальше не надо идти.

RewriteRule ^(.*)/(.*)/$ catalog.php?brand=$1&name=$2 [QSA,L]

RewriteRule ^(.*)/$ catalog.php?brand=$1 [QSA,L]

Все приведенные регулярки правильные, у меня работают, так что новых вариантов уже не надо. Что еще есть в .htaccess?

Incubus-u, PHP работает как CGI?

Incubus-u:
Какой такой скрипт $1.php? Если бы всё работало, то $1 была бы переменная.

Правильно. Для каждого адреса /aaa/.. должен быть свой скрипт aaa.php.

Incubus-u:

Но пробовал делать и без этого.

RewriteEngine On
RewriteBase /
RewriteRule ^name\/([a-z]+)$ name.php?p=$1 [L,QSA]

Версия apache? Попробуйте ^/name/([a-z]+)$ и без RewriteBase

Вы уверены что вам именно это надо $1.php? У вас тогда должен быть такой скрипт.

Всего: 1230