Можно ли использовать групповые символы в файле .htaccess для массовых перемещений? - PullRequest
0 голосов
/ 09 октября 2009

Я переделываю свой веб-сайт, собираюсь переименовать много каталогов, и мне нужен простой способ написать мои перенаправления .htaccess для всех этих страниц. Я надеюсь на решение, которое не включает в себя очень длинный список файлов. Мой файл .htaccess огромен как есть.

1 Ответ

0 голосов
/ 09 октября 2009

Вы можете использовать mod_alias или mod_rewrite для перенаправления. mod_rewrite работает с регулярными выражениями, а mod_alias может работать как с регулярными выражениями, так и с префиксами пути.

Вот несколько примеров, когда вы хотите переписать /foo/… в /bar/…:

# mod_alias
# path prefix
Redirect 301 /foo /bar
# regular expression
RedirectMatch 301 ^/foo/(.*) /bar/$1

# mod_rewrite
RewriteEngine on
RewriteRule ^foo/(.*) /bar/$1 [L,R=301]

Обратите внимание, что для mod_alias и mod_rewrite предъявляются разные требования к шаблонам регулярных выражений. Для mod_alias всегда требуется полный путь URL. Но с mod_rewrite это зависит от того, используете ли вы его в файле .htaccess или в разделе конфигурации сервера / виртуального хоста. В файле .htaccess необходимо написать шаблон без префикса пути к каталогу (для корневого каталога документа просто /, для /quux/ - /quux/).

...