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 :: RewriteRule

 PHP.SU

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


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

> Описание: закрытие всех страниц сайта
Opo6ac
Отправлено: 10 Декабря, 2010 - 12:47:10
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2009  


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




Прошу прощения, что, возможно, дублирую уже некогда созданную тему. Однако поиск по форуму дал 118 тем с результатами - я их до вечера перечитывать буду, разбираясь в чужих вопросах, в то время как мой наверняка имеет тривиальное решение (которое можно написать одной строкой).

Итак, нужно закрыть все файлы и каталоги сайта заглушкой.
Для этого пишу правило:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule     ^[.]*$ http://mysite.ru/goodbye.html [R=301]

Но срабатывает только для запросов в корень сайта. Но ведь есть еще и подкаталоги. Работающий из папки /forum форум до сих пор успешно обрабатывает запросы и возвращает ответы... ну и другие папки так же.

Что не так?
 
 Top
JustUserR
Отправлено: 10 Декабря, 2010 - 13:10:23
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Opo6ac пишет:
Итак, нужно закрыть все файлы и каталоги сайта заглушкой
В качестве возможного варианта осуществляющего контроль доступа к элементам web-пространства заданного виртального хоста или директории возможно использовать программный метод - в рамках которого обеспечивается безусловное перенаправление пользовательских HTTP-запросов к целевому ресурсу на специальный CGI-скрипт посредством системы alias-инга и действенного перенапрвления - при этом за счет использования каскадной обработки допустимо использование конечного PHP-скрипта прогоаммной обработчки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Opo6ac
Отправлено: 10 Декабря, 2010 - 15:30:43
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2009  


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




JustUserR, не подойдет.
Необходимо решить средствами .htaccess
Программный код не трогаем.
 
 Top
EuGen Администратор
Отправлено: 10 Декабря, 2010 - 17:02:46
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://mysite[dot]ru/goodbye[dot]html [R=301,L]


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Opo6ac
Отправлено: 10 Декабря, 2010 - 20:08:29
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2009  


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




EuGen не срабатывает. Даже если обозначить начало и окончание строки в регулярке.
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^(.*)$ http://mysite.ru/goodbye.html [R=301,L]

Но внешне больше похоже на зацикливание.
 
 Top
JustUserR
Отправлено: 11 Декабря, 2010 - 12:56:05
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Opo6ac пишет:
JustUserR, не подойдет. Необходимо решить средствами .htaccess
Предполагаемое выше решение вашей задачи в действительности включает в себя реализацию средствами конфигурационного файла .htaccess - при этом возможно сущестование различных схем при которых в качестве контролирующего компонента используется скомпилируемый модуль Apache или запускаемый CGI-скрипт Указанный вариант *НЕ предполагает* модификацию уже существующих PHP-скриптов и другого содержимого web-сайта - однако включает дополнение специального CGI-скрипта выполняющего обработку введенного пользователем URL-адреса и обеспечение последующего реализации посредсом механизма alias-инга и действенного перенпарвления


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Opo6ac
Отправлено: 12 Декабря, 2010 - 11:40:59
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2009  


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




Я так понял, что постояльцы форума не в состоянии предложить рабочий вариант .htaccess редиректа. Благодарю за потуги.
 
 Top
Uchkuma
Отправлено: 12 Декабря, 2010 - 14:40:25
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




Opo6ac, вижу подтекст в ваших словах.
Вот рабочий вариант, реализованный по вашим требованиям:
CODE (text):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteBase /
  4.  
  5. RewriteCond %{REQUEST_URI} !^/$
  6. RewriteCond %{REQUEST_URI} !^/index\.php(\?.*)?$
  7. RewriteCond %{REQUEST_URI} !^/goodbye\.html$
  8. RewriteRule ^.*$ goodbye.html [R=301,L]
5 по 7 строки - разрешенные адреса, 8 строка - на какой файл делаем редирект. Понятно, что он тоже должен быть разрешенным.
(Добавление)
Подправил 2 строки
 
 Top
Opo6ac
Отправлено: 12 Декабря, 2010 - 19:44:17
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2009  


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




Uchkuma, благодарю. Должно сработать.

зы: с непривычки иногда сложно увидеть ту же логику, но сделанную через отрицание)

(Отредактировано автором: 12 Декабря, 2010 - 19:44:46)

 
 Top
JustUserR
Отправлено: 12 Декабря, 2010 - 19:53:11
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Opo6ac В качестве готового целевого решения осуществляющего програмную обработку пользовательских запросов для указываемых URL-адресов - возможно использование следующих конфигурационных компонентов
Файл .htaccess
CODE (text):
скопировать код в буфер обмена
  1. AddType application/url-check .non-existent-ext
  2. Action application/url-check /handler.cgi
  3. <Files *>
  4. DefaultType application/url-check
  5. ForceType application/url-check
  6. </Files>
  7. <Files handler.cgi>
  8. Options +ExecCGI
  9. ForceType application/x-httpd-/cgi
  10. </Files>

Файл handler.cgi
CODE (text):
скопировать код в буфер обмена
  1.  
  2. #!/usr/bin/perl
  3. print "Content-type: text/html\n\n";
  4. $ENV{'PATH_INFO'}; # Целевой URL-путь для проведения анализа
  5.  


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
EuGen Администратор
Отправлено: 13 Декабря, 2010 - 10:40:29
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Это более чем странно. Так как я специально проверил, что Apache обрабатывает приведенный пример как должно. По крайней мере, тест на файлах и подпапках выдавал правильное перенаправление. (Сейчас не поленился проверить еще раз и на рабочем веб-сервере тоже)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
JustUserR
Отправлено: 14 Декабря, 2010 - 12:01:55
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




EuGen пишет:
Это более чем странно. Так как я специально проверил, что Apache обрабатывает приведенный пример как должно. По крайней мере, тест на файлах и подпапках выдавал правильное перенаправление
Возможной причиной различия функционирования системы перенапралвения по предоставляемой конфигуарции .htaccess на различных web-серверах является дифференциация в параметрах завивимостей или переопределеняи - которым в частности могут быть запрет на использования символических имен для заданного виртуального хоста в базовой конфигурации - или допустимое переопределение параметров для вложенных директорий


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
EuGen Администратор
Отправлено: 15 Декабря, 2010 - 09:31:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Вполне может. Только автор темы об этом не упоминал - значит, ему нужно это сначала выяснить


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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