[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Курсы PHP. Урок №1 от IRBIS-team
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
vahrammer
Снова здравствуйте, уважаемые.
Так, значит пытаюсь разобраться, очень прошу прокомментировать правильность моего разбора и ответить на вопрос :)

# тут ясно, преобразуем host/admin/value => host/admin/index.php?page=value
RewriteRule ^admin/(.*)$ admin/index.php?route=$1 [L,QSA]

# далее, так понимаю, условия для преобразований host/value => host/index.php?page=value
# производить преобразования, если запрошенный урл не начинается с /admin
RewriteCond %{REQUEST_URI} !^/admin

# производить преобразования, если запрошенный урл не начинается с /favicon.ico
# кстати, а как насчет admin/favicon.ico или Опера запрашивает фавиконку только от корня сайта?
RewriteCond %{REQUEST_URI} !^/favicon.ico

# разрешаем преобразование, только если по пути нет файла/папки
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# host/value => host/index.php?page=value
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

И вот он вопрос:
Почему перед преобразованиями для админки нет этих условий:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Там тоже ведь могут попадаться какие-нить файлы, например с javascritом, вдруг админка у нас xmlhttprequest вовсю юзает?

ЗЫ: А еще мне думается, что правило лучше сделать так:

RewriteRule ^([^\.]*)$ index.php?route=$1

, а то у нас получается запрос на config.php выдаст 404, а запрос на какой-нибудь no_such_file.php выдаст главную страницу, и станет ясно, что файл config.php все-таки существует. Или я не прав?

Спасибо.
Shturman
Николай, подскажи, пожалуйста.

Поднял у себя Apache и сделал ЧПУ по твоему примеру
Допустим, адрес http://myhost.ru

Теперь если вхожу как http://myhost.ru/1,
получаю $route=1

Если же попробовать передать более одного параметра,
например http://myhost.ru/1/2,
то получаем $route=1/2, но при этом на странице не отображается ни один стиль, ни одной таблицы или DIVа, хотя в коде страницы изменений нет.
Открыл в Хроме инструменты разработчика и сравнил вывод. Значительное отличие в разделе Computed Style
Проверил у платного хостера - та же фигня.

Что это может быть? blink.gif
twin
# тут ясно, преобразуем host/admin/value => host/admin/index.php?route=value
RewriteRule ^admin/(.*)$ admin/index.php?route=$1 [L,QSA]


Цитата
или Опера запрашивает фавиконку только от корня сайта?
Все, не только опера. Фавиконка только в корне может быть, как и 404

Цитата
Почему перед преобразованиями для админки нет этих условий:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Потому что это и так папка.

Shturman
.htaccess в студию.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Shturman
Дык...
AddDefaultCharset UTF-8 
#php_flag magic_quotes_gpc Off
#php_flag magic_quotes_runtime Off
#php_flag register_globals Off
ErrorDocument 401 /index.php?error=401
ErrorDocument 403 /index.php?error=403
ErrorDocument 404 /index.php?error=404

Options -Indexes

# php_value error_reporting 2047
# php_value error_log "./log/error.log"
# php_flag log_errors on
# php_flag display_errors off

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/favicon.ico

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L]
twin
Ну не знаю что сказать... Проерил на своем - все работает

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Shturman
мистика...
Ща в личку отпишусь.
vitoro98
Уважаемый twin! Простите имени не знаю. С огрмным интересом читаю ваши уроки.
Не знаю смогу ли стать программистом, но вот точно что лет на 20 лишних точно проживу так как
смех продлевает жизнь. Дело в том что вы обладаете огромным чувством юмора и большого ума личность,об этом говорит стиль написания текста. Спасибо.
А ВОТ И ПРОСЬБА Бьюсь как рыба об лед а синтаксис иницилизации внешних переменных так и не понял. Может как - нибудь по - крестьянски мне объяните!!!! Буду очень блогодарен
с уважением Виктор

twin
Лестно)) rolleyes.gif Спасибо.
Можно подробнее, со ссылкой. Какое место не понятно?

PS Николай меня зовут.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BorisBelyaev
Прошу прощения за ламерский вопрос но как реализуется защита данных в потоке при передаче из базы данных на сервере клиенту и в обратной последовательности в статье "Гостевая книга с использованием MySQL".
twin
В самом поток - никак. Протокол HTTP не предусматривает защиты данных. Если это так критично, нужно пользоваться HTTPS допустим.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BorisBelyaev
Еще вопрос - данные перед отправлением в поток обрабатываются только функцией mysql_real_escape_string() или нет?
twin
Нет. Эта функция только для БД.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BorisBelyaev
Не могу понять причину возникновения ошибки, файл по указанному адресу есть.
Warning: include(./mysql.php) [function.include]: failed to open stream: No such file or directory in Z:\home\t\www\libs\irb_paginator.php on line 3

Warning: include() [function.include]: Failed opening './mysql.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\t\www\libs\irb_paginator.php on line 3
twin
Я же вроде бы правил пример...
Там в файле irb_paginator.php третьей строчкой стоит
 include './mysql.php';

Надо удалить это.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BorisBelyaev
Это потому что мы к базе в контроллере подключаемся?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.