13 апреля 2020

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

.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.');
?>


Комментариев нет:

Отправить комментарий