2010-04-14 2 views
4

Это может показаться глупым вопросом, но я не могу понять это.Переписать правила для подпапок

скажем, у меня есть папка public_html с различными папками, такими как: Albatross, Blackbirds, Crows и Faqs.

Я хочу сделать так, чтобы любой трафик на Albatross/faqs.php, Blackbirds/faqs.php, Crows/faqs.php и т. Д. Увидит файл, который находится в faqs/faqs.php? Bird = albatross или faqs /faqs.php?bird=crows или что у вас есть.

Если я иду в файл .htaccess в папке Альбатроса, я могу это сделать

RewriteRule faqs.php$ /faqs/faqs.php?cat=albatross[QSA] 

Который работает отлично, но я хочу, чтобы положить что-то в верхнем .htacces уровня, который работает для всех из них, так старался :

RewriteRule faqs.php$ /faqs/faqs.php?cat=albatross[QSA] 

RewriteRule /(.*)/faqs.php$ /faqs/faqs.php?cat=$1 [QSA] 

и даже

RewriteRule /albatross/faqs.php$ /faqs/faqs.php?cat=albatross [QSA] 

и различные другие, но ничего не похоже на работу, когда я перехожу к http://www.birdsandwhatnot.com/albatross/faqs.php Я вижу тот же файл так же, как и всегда. Имеет ли присутствие файла .htaccess в подпапке конфликт с файлом выше .htaccess?

Я что-то упустил?

+0

Первая проблема заключается в том, что ваш сервер не работает. :) – David

+0

Ха-ха Я обычно использую chuckecheese.com или legalimatebusiness.ru в качестве примеров! –

+0

example.com - хороший пример ... – jezmck

ответ

2

Небольшая поправка должна сделать трюк

RewriteEngine on 

RewriteRule ^(.*)/faqs.php$ /faqs/faqs.php?cat=$1 [QSA] 

«/» это не передается парсер.

Надеюсь, это поможет

+0

Это то, что я собираюсь опубликовать, за исключением того, что я обычно иду с [QSA, L], чтобы убедиться, что никакие другие RewriteRules не вызывают проблемы. –

+0

Спасибо, но это все еще не имеет никакого эффекта, я просто вижу исходную страницу. Я знаю, что мой верхний уровень .htaccess работает, хотя, потому что я использую его для 301 и т. Д. Я также попытался использовать его в [QSA, L], но это ничего не меняет. –

+0

Убедитесь, что вы включили перезапись двигателя .htaccess RewriteEngine on Также убедитесь, что в конфигурации вашего веб-сервера (при условии, что apache) вы загрузили mod_rewrtite. Если у вас нет доступа к настройке, сделайте простой скрипт php, поместите phpinfo(), затем проверьте загруженные модули. – Pablo

Смежные вопросы