Перейдите к https://www,, когда это www или http: // или без www и http: //? - PullRequest
0 голосов
/ 07 января 2019

Я использую Zend Framework, где у меня есть красивые контроллеры URL. После .htaccess работает, но это делает SEO, чтобы увидеть нас как четыре ссылки на одну страницу.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

Мне нужно сделать следующее исправление с помощью htaccess:

www.stackoverflow.com / nice-Looking-url = https://www.stackoverflow.com/nice-looking-url

stackoverflow.com / nice-Looking-url = https://www.stackoverflow.com/nice-looking-url

http://www.stackoverflow.com/nice-looking-url = https://www.stackoverflow.com/nice-looking-url

http://stackoverflow.com/nice-looking-url = https://www.stackoverflow.com/nice-looking-url

Как это сделать правильно с помощью htaccess? чтобы вышеуказанные входные URL-адреса благополучно приземлялись с https://www. впереди всегда?

1 Ответ

0 голосов
/ 08 января 2019

Получите ваш полный .htaccess вот так:

RewriteEngine On

## add www and turn on https in same rule - main domain
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]

## turn on https in same rule - sub domain
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

Убедитесь, что вы используете новый браузер для проверки изменений, чтобы избежать кеширования старого браузера.

...