Я изменил структуру URL своего веб-сайта и хотел бы применить следующие правила перенаправления:
1) Перенаправление http, http + www, https на https + www.
2) Если слаг страницы изменился, я бы хотел иметь определенный редирект: domain.fr/old-slug перенаправляет на domain.fr/new-slug
Веб-сайт Wordpress установлен на NNGINX + Apache2 Hybridсервер
Я добавил это в свой файл .htaccess для перенаправления на https://www расширение:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://www.domain.fr/$1 [R=301,L]
Это правило перезаписи работает, как и ожидалось.
Но когда я добавляю конкретные правила для перенаправления определенных страниц, как это:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
#specific Redirects
RewriteRule ^old-slug/?$ https://www.domain.fr/new-slug/?
[R=301,NE,NC,L]
#redirect to https://www
RewriteRule ^(.*)$ https://www.domain.fr/$1 [R=301,L]
При открытии веб-сайта в моем браузере я получаю следующую ошибку: ERR_TOO_MANY_REDIRECTS
В настоящее времяработает следующий код:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://www.domain.fr/$1 [R=301,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Я хотел бы найти проблему в своей директиве, чтобы у меня были правильные перенаправления для определенных URL