Так Redirect
работает, так как ловит все, что начинается с заданной строки URI. Поэтому Redirect /main-page
перенаправит все URI, которые начинаются с /main-page
. Вы должны использовать RewriteRule
, что позволяет использовать регулярные выражения для точного соответствия, и более того, вы уже используете это в остальной части вашего .htaccess.
Вы можете использовать:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^main-page/?$ https://example.com/new-main-page [L,R=301,NC]
RewriteRule ^main-page/sub-page1/?$ https://example.com/new-main-page/new-sub-page1 [L,R=301,NC]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
## Added as per WP-1252 ##
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
Make обязательно очистите кеш браузера или используйте новый браузер, чтобы избежать кеша старого браузера.