Слишком много ошибок перенаправлений. При попытке перенаправить URL - PullRequest
0 голосов
/ 03 июля 2019

Мой файл .htaccess имеет этот код: -

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Во время Seo мой сайт отображает 2 ошибки дублирования URL как: - https://example.net/contact-us.php & https://example.net/contact-us указывает на тот же ресурс. Итак, нам нужно перенаправить URL. Для этого я написал этот код: -

Redirect 301 /contact-us.php https://example.net/contact-us/

Проблема в том, что отображается слишком много ошибок перенаправлений. Пожалуйста, помогите. Заранее спасибо.

1 Ответ

1 голос
/ 03 июля 2019

У вас должно быть 2 правила.1 для перенаправления без расширения в php-файл и 1 для перенаправления php в без расширения, если кто-то его набирает. Вам не нужно это правило Redirect 301.

У меня будут свои правила, описанные ниже.

Заменить эти правила

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

этим

RewriteEngine On

#redirect a direct request for the php file to no extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\s/([^\s]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)/?$ /$1.php [L]

RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...