У меня есть сайт с набором старых страниц .html и .php, которые были помещены в CMS.
На данный момент в файле .htaccess около 30 редиректов mod_alias в следующем виде:
redirect 301 /oldpage1.html http://www.example.com/newpage1.php
redirect 301 /oldpage2.php http://www.example.com/newpage2.php
redirect 301 /oldpage3.php http://www.example.com/newpage3.php
Но мы хотим использовать mod_rewrite, чтобы иметь красивые URL-адреса в нашей CMS, которые будут иметь форму http://www.example.com/pagename.php
, поэтому также иметь следующее:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1
На данный момент оба применяются вместе, что приводит к:
http://www.example.com/newpage1.php?page=oldpage1.html
Как я могу применить правило перезаписи только в том случае, если операторы перенаправления 301 mod_alias не выполнили совпадение, чтобы произошло следующее:
http://www.example.com/oldpage1.html
-> перенаправляет на -> http://www.example.com/newpage1.php
-> который рассматривается как -> http://www.example.com/index.php?page=/newpage1.php
Любые подсказки будут очень признательны? Спасибо.