Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вопрос по htaccess

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: вопрос по htaccess
3d_killer
Отправлено: 26 Марта, 2014 - 17:43:17
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Возможно ли как то сделать 301 ридирект на нижний регистр
то есть если в урл адресе присутствует хоть одна буква в верхнем то ридиректит на урл точно такой же только в нижнем регистре?
 
My status
 Top
esterio
Отправлено: 26 Марта, 2014 - 17:48:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




фронт контроллер, а там редирект если УРЛ не равен strtolower(УРЛ) ?
 
 Top
3d_killer
Отправлено: 26 Марта, 2014 - 17:57:28
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




только так?
 
My status
 Top
esterio
Отправлено: 26 Марта, 2014 - 18:00:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




ну я же не знаю какая у вас там кухня. это только предложение, можно правда mod_rewrite попробовать, но не знаю как там сделать перевод регистра, нужно погуглить
 
 Top
3d_killer
Отправлено: 26 Марта, 2014 - 18:12:06
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




ну вобщем нашел код сделал так
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     // Приняли URL и перевели все символы в нижний регистр, при этом указав кодировку, во избежания проблем с кириллицей
  4.     $url = mb_strtolower(urldecode($_SERVER['REQUEST_URI']), 'UTF-8') ;
  5.     // Пишем условие, если в брайзерной строке отличается от урла с нижним регистром, то
  6.     if(urldecode($_SERVER['REQUEST_URI']) != $url) {
  7.         // Выполняем редирект 301
  8.         header('Location: http://'.$_SERVER['HTTP_HOST'].$url, true, 301) ;
  9.     }
  10. ?>
  11.  

ридиректа даже не заметно
 
My status
 Top
esterio
Отправлено: 26 Марта, 2014 - 18:20:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Можна так
CODE (htaccess):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_URI} [A-Z]
  3. RewriteRule . strtolower.php [L]

strtolower.php
PHP:
скопировать код в буфер обмена
  1.  
  2. $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0';
  3. header($protocol.' 301 Moved Permanently');
  4. header('Location: '.strtolower($_SERVER['REQUEST_URI']))


П.С, не тестил
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB