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 :: Редирект при переходе на любой адрес выше второго уровня

 PHP.SU

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


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

> Без описания
Vinyl
Отправлено: 26 Января, 2012 - 19:10:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


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




Всем доброго вечера. Есть задача - переадресовывать на 404.php (лежит в корне) любой запрос на адрес выше второго уровня, т.е.,

Разрешены:
site.ru/news/
site.ru/anyfolder

Переадресация на 404.php:
site.ru/news/anyfolder/
site.ru/123/123/.(n папок)../123/

Я полагаю, что такое если и возможно реализовать, то только на .htaccess .
Заранее спасибо.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
armancho7777777 Супермодератор
Отправлено: 26 Января, 2012 - 20:07:13
Post Id



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


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


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




Можно и без .htaccess.
В роутере, или контролёре прописать это:
PHP:
скопировать код в буфер обмена
  1.  
  2. $urlArr = explode('/', rtrim($_SERVER['REQUEST_URI'], '/'));
  3.  
  4. if(!empty($urlArr[1])){
  5.   header("Location: http://site.ru/404.php");
  6.   exit;        
  7. }
  8.  

(Отредактировано автором: 26 Января, 2012 - 20:08:36)

 
 Top
OrmaJever Модератор
Отправлено: 26 Января, 2012 - 20:18:35
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Если этих папок нету, то итак должна выпадать 404 ошибка.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
armancho7777777 Супермодератор
Отправлено: 26 Января, 2012 - 20:20:23
Post Id



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


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


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




Я так понял, они у него есть, но надо выдавать 404-ю ошибку.

(Отредактировано автором: 26 Января, 2012 - 20:20:45)

 
 Top
Vinyl
Отправлено: 26 Января, 2012 - 21:25:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


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




Все верно, папок нет. У меня mod_rewrite адреса заменяет ("abc.ru/index.php?page=news" на abc.ru/news/" ). Проблема в том, что дальше второй папки у меня флешка перестает отображать её содержимое. Делал не flashmenulabs, поэтому возможности править пути в самой флешке нет. А если набрать "abc.ru/news/aaa/123", ошибки 404 не возникает (из-за mod_rewrite). Вариант один в голову приходит, проверять, идут ли при таком запросе данные из БД, и если пусто - header('Location: /404.php'). А вообще, по-моему я переработал сегодня, голова не варит совсем. Поправьте, если есть другие варианты.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Vinyl
Отправлено: 27 Января, 2012 - 10:02:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


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




Все, разобрался, спасибо. Отдохнуть просто надо было ;) armancho7777777, Вам отдельное спасибо.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB