.htaccess - переместить сайт из .html в .php, но исключить папку - PullRequest
3 голосов
/ 31 декабря 2010

У меня новый сайт, и я поместил старую версию сайта в папку / old.

Новый сайт имеет те же имена страниц, что и старый, за исключением того, что все они теперь имеют расширение .php.

У меня есть следующее правило для SEO, которое направляет все файлы .html в .php

RedirectMatch 301 (.*)\.html$ http://www.mysite.com$1.php

Но мне все еще нужно иметь доступ ко всему в папке / old - перенаправление, очевидно, также перенаправляет файлы сюда (например, mysite.com/old/mypage.html собирается на mysite.com/old/mypage .php - мне нужна версия .html)

Я пытался выяснить это для себя, но я не уверен во всех командах RedirectXYZ.

Есть идеи?

1 Ответ

1 голос
/ 31 декабря 2010

Вы можете добиться этого, используя отрицательный взгляд :

RedirectMatch 301 ^(?!/old)(.*)\.html$ http://www.mysite.com$1.php

(?!/old) отклоняет совпадение, содержащее строку /old в этой позиции.Мы используем ^, чтобы ограничить его началом сопоставляемой строки.

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