Архив

Публикации с меткой ‘htaccess’
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ / [R=301,L]
Categories: Web Tags:
RewriteRule ^(.*)\.html$ https://%{HTTP_HOST}/ [R=301,L]
Categories: Web Tags:
2 ноября 2016 Нет комментариев

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

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