Архив

Публикации с меткой ‘htaccess’
2 ноября 2016 Нет комментариев

В примере переносим сайт с site.com на site.org
.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
 
RewriteCond %{HTTP_HOST} ^site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]

robots.txt

User-agent: Yandex
Host: site.org
 
User-agent: *
Disallow:
Sitemap: http://site.org/sitemap.xml

Источник: https://habrahabr.ru/post/168471/

Categories: Web Tags: ,
2 ноября 2016 Нет комментариев
RewriteEngine On
RewriteCond %{HTTPS} off
#RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

или другой вариант (Sweb)

RewriteEngine On
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
SetEnvIf X-Forwarded-Proto https HTTPS=on

nic.ru

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
#RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Categories: Web Tags:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
Categories: Web Tags:

В случае если, $_SERVER[‘HTTP_IF_MODIFIED_SINCE’] отсутствует:
.htaccess

RewriteEngine on
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]

php:

session_cache_limiter('private_no_expire');
session_start();
Categories: Web Tags: ,
4 декабря 2015 Нет комментариев

Усовершенствованное решение этого варианта: http://krylov.org.ua/?p=1130
.htaccess

RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]

Работает для http://site.com/dir1///dir2
но проблема остается в адресах типа http://site.com///uri (несколько слешей после домена)
Решение на php:

if(stristr($_SERVER['REQUEST_URI'],'//')){
	$uri=preg_replace('#/{2,}#','/',$_SERVER['REQUEST_URI']);
	header('Location: '.$uri,false,301);
	exit;
}
Categories: PHP, Web Tags: ,
2 ноября 2015 4 комментария

Усовершенствованный вариант: https://krylov.org.ua/htaccess-dubli-stranits-s-neskolkimi-slesham-2/

Необходимо настроить 301 редирект со всех страниц, где в теле URL больше одного слеша подряд (за исключением http:// и знаков «/» в конце URL) на аналогичные URL с одним знаком «/».
Также необходимо настроить 301 редирект со всех страниц, где в конце URL присутствует знак «/» на аналогичные URL без знака «/».

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
Categories: Web Tags:
19 октября 2015 Нет комментариев

Если DocumentRoot у 2 доменов один и тот же (одна папка) и нужно сделать редирект с одного определенного домена на другой.

RewriteCond %{HTTP_HOST} ^olddomain\.spb\.ru
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]

Если сайты в разных папках и проверка на домен не нужна (всегда редирект в не зависимости от домена — первая строка не нужна)

Categories: Web Tags: