Редирект с больших символов на маленькие

Настройка в .htaccess, 301 редирект с заглавных букв на прописные в части адреса страницы URL

Решение:
.htaccess
RewriteEngine on
RewriteBase /

# Переключает url в нижний регистр, если найдены символы в верхнем регистре
RewriteCond %{REQUEST_URI} [A-Z]
# Убедитесь, что это не файл на диске.
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule (.*) rewrite-strtolower.php?rewrite-strtolower-url=$1 [QSA,L]
rewrite-strtolower.php
<?
	if(isset($_GET['rewrite-strtolower-url'])) {
	    $url = $_GET['rewrite-strtolower-url'];
	    unset($_GET['rewrite-strtolower-url']);        
	    $params = strtolower(http_build_query($_GET));
	    if(strlen($params)) {
	        $params = '?' . $params;
	    }
	    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . strtolower($url) . $params, true, 301);
	    exit;
	}
	header("HTTP/1.0 404 Not Found");
	die('Unable to convert the URL to lowercase. You must supply a URL to work upon.');
?>


Похожие решения:
Изменено: 12 07 2019
Просмотров: 2335

Комментарии 2

Работет. Спасибо
Ответить
О боже вырви мне глаза!
1. Нельзя делать такой редирект, ! Линукс регистрозависимый
image.jpg Image.jpg разные файлы. С директориями ситуация та-же
2. С точки зрения SEO этого не требуется, будьте более компетентны.
3 !-s это симлинка а не файл ! -f -вот это файл
Ответить
Написать