Перенаправить иерархические (вложенные) URL-адреса в простые URL-адреса - PullRequest
1 голос
/ 28 декабря 2011

Первый вопрос здесь:).

Сайт, который мы в данный момент используем, использует иерархические (вложенные) URL, например example.com/folder/page/

Теперь мы бы предпочли простые URL, например, example.ru / page /

Наша CMS может легко разрешить переход на страницы, которым даны плоские URL-адреса.Однако он не обрабатывает перенаправления со старых иерархических URL-адресов.Похоже, что его нужно обрабатывать в файле .htaccess.

Существует более 250 страниц, поэтому было бы предпочтительнее иметь код, который обрабатывал бы все перенаправления, а не выполнять перенаправление 301 для каждого URL.

Кто-нибудь может предоставить какой-нибудь код .htaccess или указать мне правильное направление для перенаправления?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Вы можете попробовать этот код в вашем .htaccess под $ DOCUMENT_ROOT:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteOptions MaxRedirects=5

RewriteRule ^folder(/page/.*)$ $1 [NC,L,R=301]
0 голосов
/ 28 декабря 2011

Возможно, это не самая эффективная вещь в мире, но я делаю это в своем блоге, используя большой .htaccess файл, содержащий:

RedirectMatch permanent ^/old/url http://example.com/new-url

Если вы можете редактировать основной файл конфигурации Apache вместо использования файлов .htaccess, вероятно, будет более эффективно использовать Redirect вместо RedirectMatch (который проще использовать внутри .htaccess файлы, потому что, если я помню, он сопоставляется с URL-адресом относительно файла .htaccess вместо ... чего-то еще ... когда задействован Redirect. Но я могу ошибаться.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...