LINUX.ORG.RU

История изменений

Исправление Stack77, (текущая версия) :

заказчик хочет что бы ответ от сервера был 301

Вообще, такое в Job нужно. Но, т.к. задача простая, то:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]

Тут с бонусами: редирект на https, если порт не 443; https://example.com/index.php/hello.html -> https://example.com/hello.html

Разберешься, в общем. Пиво с тебя :)

ответ от сервера должен быть 200

301/302 - код ответа при редиректе. 200 - код ответа после редиректа (если всё Ок).

Исходная версия Stack77, :

заказчик хочет что бы ответ от сервера был 301

Вообще, такое в Job нужно. Но, т.к. задача простая, то:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]

Пиво с тебя :)

ответ от сервера должен быть 200

301/302 - код ответа при редиректе. 200 - код ответа после редиректа (если всё Ок).