LINUX.ORG.RU

редирект в htaccess

 , ,


0

2

мне стыдно, но что-то не могу сообразить как сделать

надо что бы все страницы, например http://example.com/m.php редиректились на главную http://example.com, но надо так же что бы и http://example.com/m.php?dasdasd http://example.com/m.phpsfasfafsa http://example.com/m.php12dsfsdf тоже редиректились на главную http://example.com


Ответ на: комментарий от slamd64

Вот никогда не понимал таких людей, если вопрос стоит сделать через htaccess, зачем мне советовать nginx?

Garcia
() автор топика
Ответ на: комментарий от Garcia

Очевидно, для каждой задачи есть наиболее подходящий инструмент.

Карманные золотые часы можно и кувалдой попытаться починить...

slamd64 ★★★★★
()
9 октября 2017 г.
Ответ на: комментарий от Garcia

сделал пока так

<IfModule mod_rewrite.c>
        RewriteCond %{HTTP_HOST} ^([^www].*)$
        RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
        RewriteCond %{HTTPS} off
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
но есть одна проблема, по запросу https://site.ru/catalog/izdelia/Obraza/ сначала идет первый 301 редирект на https://www.site.ru/catalog/izdelia/Obraza/, а потом уже на нужную страницу https://www.site.ru/catalog/izdelia/obrazki/ как это можно объединить в один 301 редирект?

Garcia
() автор топика
Ответ на: комментарий от Garcia

сделал так

<IfModule mod_rewrite.c>
        RewriteCond %{REQUEST_URI} ^/catalog/izdelia/Obraza/$
        RewriteRule ^.*$ https://www.site.ru/catalog/izdelia/obrazki/? [R=301,L]
        RewriteCond %{HTTP_HOST} ^([^www].*)$
        RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
        RewriteCond %{HTTPS} off
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Garcia
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.