У меня есть статическая страница формы page1.html в моем корневом каталоге и другая страница index.php также в корневом каталоге. То, что я пытаюсь сделать, – это переместить все старые входящие ссылки, чтобы указать на каталог WordPress. Я получил основной домен для перенаправления через .htaccess и index.php, которые я нашел на моем сайте хостинг-провайдеров (т. Е. Abc.com теперь перенаправляется в мою папку установки WordPress должным образом).
Проблема, которую я сейчас имею, – все страницы, которые были напрямую связаны или индексированы, все еще появляются. Например, abc.com/page1.html все еще отображается. Я попытался использовать следующий код .htaccess для перенаправления на новый сайт:
redirect 301 /page1.html abc.com/index.php
Вышеприведенный код должен быть правильным из моего понимания, так как мой index.php загружает данные WordPress (тот же метод, который используется для корректно работающего перенаправления abc.com), но по какой-то причине перенаправление не происходит.
Вот общий макет моего файла .htaccess.
# BEGIN WordPress redirect # This part is for the abc.com -> wordpress folder redirect. # Code taken strait from my hosting provider's help tutorial. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /WordpressInstallation/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /WordpressInstallation/index.php [L] </IfModule> # Problem code below # Static page redirects redirect 301 /page1.html /index.php redirect 301 /page2.html /index.php . . .
Любые идеи о том, что я делаю неправильно или как я могу достичь результата, который я ищу?
Редактировать:
Это может быть необязательная информация, но файлы page1.html, page2.html и т. Д. Находятся в корневом каталоге с файлом .htaccess, а установка wordpress находится в папке с именем wordpressInstallation в корневом каталоге. Я просто подумал, что я уточню, что если бы вопрос не сделал этого ясно.
/ ---wordpressInstallation ------Wordpress files (head.php, index.php, style.css etc.) ---page1.html ---page2.html . . . ---index.php ---.htaccess . . .
mod_rewrite
правила mod_alias
. Используйте этот DocumentRoot/.htaccess
(на один уровень выше каталога wordpress ):
RewriteEngine On RewriteRule ^(page1|page2)\.html?$ /wordpressInstallation/ [L,NC,R=301]
И удалите директивы Redirect
из вашего WordPress .htaccess.