Архив

Архив раздела ‘Web’
4 декабря 2015 1 комментарий

Усовершенствованное решение этого варианта: 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: ,
30 ноября 2015 Нет комментариев

В примере необходимо генерировать в URL фильтрацию по цене только в том случае, если пользователь сам изменил ползунок выбора цены.
Т.е. нужно не передавать определенные параметры в _GET (по ситуации).
Часть формы (добавляем hidden поля):

<form method="get" action="" id="filter_form">
	от <input type="text" name="price_from" id="price_from" value="100"/>
	до <input type="text" name="price_to" id="price_to" value="1000"/>
	<input type="hidden" id="price_min" value="100"/>
	<input type="hidden" id="price_max" value="1000"/>
</form>

Яваскриптом дисаблим inputы, если их значения не меняли.

$(function(){
	$("#filter_form").submit(function(){
		if($("#price_from").val()==$("#price_min").val()){
			$("#price_from").attr("disabled","disabled");
		}
		if($("#price_to").val()==$("#price_max").val()){
			$("#price_to").attr("disabled","disabled");
		}
	});
});
Categories: Javascript, 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:
1 октября 2015 Нет комментариев

Варианты:

User-agent: *
Disallow: *
Allow: /$
User-agent: *
Allow: /$
Disallow: /

Спецсимволы:
* — любое количество символов (в т.ч. 0)
$ — конец строки
т.е. запрещаем все, разрешаем /
порядок неважен (выяснено экспериментальным путем)

Categories: Web Tags:
RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]
Categories: Web Tags:
$arrs=array('_GET','_POST','_COOKIE');
foreach($arrs as $arr_key=>$arr_value){
	if(is_array($$arr_value)){
		foreach($$arr_value as $key=>$value){
			$nbz1=substr_count($value,'--');
			$nbz2=substr_count($value,'/*');
			$nbz3=substr_count($value,"'");
			$nbz4=substr_count($value,'"');
			if($nbz1>0||$nbz2>0||$nbz3>0||$nbz4>0){
				Print404();
				exit(); 
			}
		}
	}
}

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=83821

Categories: PHP, Web Tags: ,