2009-09-05 9 views
0

Что касается documenation .htaccess, размещение файла .htaccess в каталоге должно влиять на этот каталог и все подкаталоги. Но у меня проблемы с работой:.htaccess, mod_rewrite и подкаталоги

У меня есть файлы, alice.html и bob.html (просто печать «Алиса» и «Боб»), и этот .htaccess в том же каталоге (/ tmp/rewrite):

RewriteEngine on 
RewriteBase /tmp/rewrite 
RewriteRule ^alice.html$ bob.html 

Когда я пытаюсь получить доступ к /tmp/rewrite/alice.html, я получаю «Боб» - отлично.

Но когда я помещаю тот же html-файл в подкаталог/tmp/rewrite/sub и пытаюсь получить доступ к /tmp/rewrite/sub/alice.html, я получаю «Алису».

Что мне не хватает?

+0

Вам не нужно 'директиву RewriteBase', если URL путь такой же, как физический путь , Попробуйте его без «RewriteBase». – Gumbo

+0

@Gumbo: Тогда я получаю ошибку 404. – Elbonian

ответ

1

Поведение просто нормально. Вы сказали apache mod_rewrite alice.html в bob.html в случае, если он присутствует в определенном «корне» для этих правил. Если вы хотите применить правила к другим папкам, вам придется применить еще несколько правил, например, так:

RewriteRule ^/sub/alice.html$ /sub/bob.html 
Смежные вопросы