PHPSESSID in your URL? Learn to 301 redirect them with PHP

I’m doing some work on a site which has like 4,500 pages indexed with a PHPSESSID in the URL, causing some major duplicate content problems. I got the server admin to disable the PHPSESSID’s by adding the following to the vhost config:

[code]php_value session.use_trans_sid 0
php_value session.use_only_cookies 1[/code]

I also wanted Google to get a clean URL when it decided to spider one of the old URL’s again, and didn’t have access to mod_rewrite, so I redirected them with some PHP. The solution is quite simple:

[code]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;
}[/code]

Webinar

Introduction to Yoast SEO webinar

8 July 2026

A practical, demo-driven webinar on using Yoast SEO for WordPress with confidence.

All Yoast SEO Webinars
Event

WordCamp US 2026

August 16 - 19, 2026

Team Yoast is Attending, Sponsoring, Yoast Booth at WordCamp US 2026! Click through to see who will be there, what we will do, and more!

See where you can find us next
Podcast

The SEO Update by Yoast – August 2026

25 August 2026

Expert analysis of the latest SEO & AI news developments with Carolyn Shelby and Alex Moss. Watch the update here. 📺

All Yoast SEO Podcasts

Discussion (19)