htaccess и PHPSESSID

FX
На сайте с 15.01.2010
Offline
114
895

знаю, что это частая проблема, но решить не везде получается, поэтому было принято решение, если где-то берется урл с PHPSESSID - редиректить это на главную, для того чтобы вес в никуда не расходовался

подскажите как в htaccess прописать так, чтобы все урлы, где есть в УРЛЕ в параметрах(после .php?... ) PHPSESSID редиректились на морду сайта?

Ragnarok
На сайте с 25.06.2010
Offline
239
#1

рискну предложить сделать средствами php:

if(!empty($_GET['PHPSESSID'])) {

header('Location:http://site.ru/',301);

}

или типа того

если нужно, то урл страницы тоже можно спарсить чтобы удалить из него sid и перейти на страницу без sid

//TODO: перестать откладывать на потом
J
На сайте с 02.02.2009
Offline
53
#2

попробуйте так:

.htaccess:

php_value session.use_trans_sid 0

php_value session.use_only_cookies 1

code.php:

if (isset($_GET['PHPSESSID'])) {

$requesturi = preg_replace('/?PHPSESSID=[^&]+/',"",$_SERVER['REQUEST_URI']);

$requesturi = preg_replace('/&PHPSESSID=[^&]+/',"",$requesturi);

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://".$_SERVER['HTTP_HOST'].$requesturi);

exit;

}

gormarket
На сайте с 29.12.2010
Offline
47
#3

301 редирект при наличии в строке запроса PHPSESSID на главную с удалением строки запроса


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} PHPSESSID=[a-f0-9]+ [NC]
RewriteRule .* http://%{HTTP_HOST}/? [R=301,L]

301 редирект при наличии в строке запроса PHPSESSID на ту же страницу с удалением из строки запроса праметра PHPSESSID и сохранением остальных параметров


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^(.*)PHPSESSID=[a-f0-9]+(.*)$ [NC]
RewriteRule .* http://%{HTTP_HOST}/$0?%1%2 [R=301,L]
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий