Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mod_rewrite Нужное каждому. 
:(
    Опции темы
Всемогущий
Дата 12.5.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



мне кажется не то ,так как 

нужно

http://site.ru/somefile.ext(любой файл в корне) стало http://site.ru/index.php?file=somefile.ext

а если что угодно находится находится глубже корня ничего не происходит

http://site.ru/*****/somefile.ext  - ничего


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
GZep
Дата 12.5.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



усе, понял. Делаем:
важное замечание: если так делать то надо снять обязательно редирект с файла index.php. Если не сделать, то будет происхоить следующее:
запрос к файлу /news.php
выполняется редирект к файлу index.php вот так:
/index.php?file=news.php
НО редирект не останавливается и идет дальше(мы же теперь обращаемся к index.php):
/index.php?file=index.php&file=news.php
и так далее:
/index.php?file=index.php&file=index.php&file=news.php
пока сервер не зависнет... smile 
Это надо учитывать и сделать игнор файлу index.php (делаем это при помощи RewriteCond %{REQUEST_FILENAME} !-f)

Итого имеем:
Код

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^([a-z_]+)\.[a-z]+(\?(.*))?$ index.php?file=$1$3 [NC,QSA]
</IfModule>

флаги дают возможность контролировать данные после "?" и не учитывать регистр символов.(какой из них что именно делает сейчас не помню).

Теперь папки (в этом я не уверен!)
там вроде надо просто:
Код

<IfModule mod_rewrite.c>
    RewriteEngine off
</IfModule>

Усе! smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Всемогущий
Дата 12.5.2007, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



тестирую здесь

нажимаю на файл ничего не происходит

кажется ошибка здесь :

  RewriteCond %{REQUEST_FILENAME} !-f #не файл

мне же нужно было чтоб он Жрал все файлы,

а если поставить

  RewriteCond %{REQUEST_FILENAME} -f #любой файл

то он обрабатывает файлы не только в корне ,но и везде







--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
xolod
Дата 12.5.2007, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.5.2005
Где: Когда: Что:

Репутация: 1
Всего: 13



Код

RewriteEngine On
Options +FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_URI} ^\/[^/]+$
RewriteRule ^(.*) index.php?p=$1 [L,QSA]

В файл .htaccess в корне сайта. В httpd.conf %{VARIABLE} использовать можно не всегда.

Это сообщение отредактировал(а) xolod - 12.5.2007, 23:40
PM MAIL   Вверх
Всемогущий
Дата 13.5.2007, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



я до сих пор легко получаю доступ к файлам которые лежат рядом с index.php

http://gazetron.ru/del/rewrite.txt

где же 
Цитата(Всемогущий @  12.5.2007,  21:12 Найти цитируемый пост)
http://site.ru/somefile.ext(любой файл в корне) стало http://site.ru/index.php?file=somefile.ext




--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
GZep
Дата 13.5.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(Всемогущий @  12.5.2007,  19:43 Найти цитируемый пост)
мне же нужно было чтоб он Жрал все файлы,

прочитай замечание, которое я написал в предыдушем своем посте. Вниматьльно только прочитай. Все файлы он жрать не должен.

Добавлено через 1 минуту и 57 секунд
чуть попозже освобожусь и посмотрю, что там не работает.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Всемогущий
Дата 13.5.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



Цитата(GZep @  13.5.2007,  11:32 Найти цитируемый пост)
 Все файлы он жрать не должен.


Должен,только в корне.



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
xolod
Дата 13.5.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.5.2005
Где: Когда: Что:

Репутация: 1
Всего: 13



Кажется мы с вами не понимаем друг друга.
Воссоздайте структуру на своем сервере, такую как в архиве (просто распокавав архив в корень сервера, лучше если там ничего больше не будет, для чистоты эксперимента).
Там есть файлы в корне (file.html, twofile.txt) и папка dir с файлами. Попробуйте открыть каждый из них в браузере.
Структура должна быть воссоздана от корня (DOCUMENT_ROOT, htdocs, etc), а не в какой-либо поддиректории.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  demo_struct.zip 1,29 Kb
PM MAIL   Вверх
Всемогущий
Дата 13.5.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



Цитата(xolod @  13.5.2007,  17:00 Найти цитируемый пост)
Структура должна быть воссоздана от корня (DOCUMENT_ROOT, htdocs, etc), а не в какой-либо поддиректории.
начальник не поймёт smile 

ссылка таже, просто скопировал всё туда.



Цитата(xolod @  13.5.2007,  17:00 Найти цитируемый пост)
Кажется мы с вами не понимаем друг друга.

мне тоже кажется,
наверное правда бывают затмения разума,во избежания затмения у меня, повторяю задание

1)правило: если запрошен существующий файл на сервере то передавать его имя ,в качестве параметра переменной,на index.php
2)исключение: если запрашиваемый файл находится глубже корня - ничего не делать 


Это сообщение отредактировал(а) Всемогущий - 13.5.2007, 15:22


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
GZep
Дата 13.5.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(Всемогущий @  13.5.2007,  11:15 Найти цитируемый пост)
Должен,только в корне.

Хорошо. Значит файл index.php он тоже должен перенаправлять. правильно? Или все-таки не должен ВСЕ обрабатывать?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Всемогущий
Дата 13.5.2007, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



Цитата(GZep @  12.5.2007,  21:23 Найти цитируемый пост)
важное замечание: если так делать то надо снять обязательно редирект с файла index.php. Если не сделать, то будет происхоить следующее:запрос к файлу /news.phpвыполняется редирект к файлу index.php вот так:/index.php?file=news.phpНО редирект не останавливается и идет дальше(мы же теперь обращаемся к index.php):/index.php?file=index.php&file=news.phpи так далее:/index.php?file=index.php&file=index.php&file=news.phpпока сервер не зависнет...  Это надо учитывать и сделать игнор файлу index.php (делаем это при помощи RewriteCond %{REQUEST_FILENAME} !-f)


я это читал, предпологается что тот кто будет делать это учтёт.



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
GZep
Дата 13.5.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(Всемогущий @  13.5.2007,  18:26 Найти цитируемый пост)
предпологается что тот кто будет делать это учтёт

в последней строчки цитаты я написАл про то как будет это делаться.

Добавлено через 5 минут и 20 секунд
чуть не забыл: для того, чтобы мой код работал надо чтобы небыло файлов в корне кроме index.php на которые моглибы быть обращения.

например если файла news.php в корне нет, то переделывается на index.php?file=news. Но если в корне есть файл news.php - редирект непроисходит.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Всемогущий
Дата 13.5.2007, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



Цитата(GZep @  13.5.2007,  20:32 Найти цитируемый пост)
чуть не забыл: для того, чтобы мой код работал надо чтобы небыло файлов в корне кроме index.php на которые моглибы быть обращения.

их сотни


Это сообщение отредактировал(а) Всемогущий - 13.5.2007, 18:44


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
GZep
Дата 13.5.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(Всемогущий @  13.5.2007,  18:42 Найти цитируемый пост)
их сотни

к ним непосредственно браузер обращается?

то есть, например, css или js файлы вообще не мешают.

главное, чтобы не было файлов типа news.php.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Всемогущий
Дата 13.5.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: нет
Всего: 13



какая разница css или js или  ещё что нибудь любые файлы кроме index.php


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.3846 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.