Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Удалить слеш в конце URL

Вчера написал код, который проверяет есть ли в конце текущего URL слеш (/) и если есть, удаляет, затем перенаправляет на этот же адрес, но уже без слеша в конце.
Сам код:
# Удаление слеша в конце URL
if (basename(substr($_SERVER['REQUEST_URI'], -1) == '/'))
{
	$request_url = rtrim($_SERVER['REQUEST_URI'], '/');
	header('Location: https://' . $_SERVER['HTTP_HOST'] . $request_url, true, 301);
	exit;	
}

Если надо удалять слеш только у одно файла, скажем у файла blog.php, то замените условие:
if (basename(substr($_SERVER['REQUEST_URI'], -1) == '/'))

на:
if (basename($_SERVER['SCRIPT_FILENAME']) == 'blog.php' and substr($_SERVER['REQUEST_URI'], -1) == '/')

А если требуется обратное - везде слеш удалять, а файл blog.php должен остаться со слешем, то условие будет таким:
if (basename($_SERVER['SCRIPT_FILENAME']) != 'blog.php' and substr($_SERVER['REQUEST_URI'], -1) == '/')

Еще один способ удаления слеша в конце URL, при помощи .htaccess:
    # Deleting slash
    RewriteCond
...