Вопрос о перенаправлении Apache — mod_rewrite или mod_alias

У меня есть конкретная потребность:

example.com/store/{location} должен перенаправлять на example.com/store2/{location}

И это нужно перенаправить, а не просто «переписать» URL-адрес, поэтому я предполагаю, что мне нужен mod_alias, верно? Кто-нибудь хочет поделиться правильным кодом для него? Я немного не понимаю как с mod_rewrite, так и с mod_alias. (Надеюсь, я правильно спросил) Спасибо!!


person spadeworkers    schedule 28.04.2011    source источник
comment
связанные: stackoverflow.com/questions/808014/mod-rewrite -или-мод-псевдоним   -  person cregox    schedule 03.05.2011


Ответы (2)


Если вы имеете в виду, что хотите указать браузеру перенаправить свое местоположение, вы можете просто сделать это с помощью mod_alias:

Redirect /store http://example.com/store2

Или следующее, если вы имеете в виду постоянное перенаправление:

RedirectPermanent /store http://example.com/store2

Что касается вашей путаницы, mod_alias в основном является более простой версией mod_rewrite. Цитируя GreyWyvern:

По сути, если вы делаете «переписывание», к которому не привязаны какие-либо сложные условия, вы должны использовать mod_alias. И наоборот, если вы хотите перенаправить запросы к файлам и строкам запроса, которые вы не хотите отображать в адресной строке браузера, вы должны использовать mod_rewrite

person cregox    schedule 03.05.2011

person    schedule
comment
Удалите конечный /, если пользователь его не пишет. И, кстати, @spadeworkers, это mod_rewrite - person M'vy; 28.04.2011
comment
Это не сработало. У меня был следующий код в .htaccess, находящийся внутри каталога хранилища: RewriteEngine on RewriteRule ^/store/(.*)/$ store2/$1 [R=301,L] Никаких ошибок или чего-то еще, он просто не перенаправлял . - person spadeworkers; 28.04.2011
comment
И я тоже пытался убрать косую черту - person spadeworkers; 28.04.2011
comment
Я считаю, что RewriteRule ^/store(.*)$ http://example.com/store2$1 [R=301,L] должно работать в основном так же, как я предложил, и здесь также можно заменить 301 на permanent. - person cregox; 03.05.2011