HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 26.04.2010, 17:22
uvlad
Новичок
Регистрация: 09.03.2009
Сообщений: 1
С нами: 9038787

Репутация: 0
По умолчанию

Всем привет !

Есть несколько вопросов по mod_rewrite, сегодня почитал не много документации по данному модулю, посмотрел некоторые примеры, но одну проблему уже долгое время не могу решить, да и незнаю можно ли вообще такое сделать.

Это то что на данный момент есть в .htaccess, последение правило с условиями возможно временные.

PHP код:
RewriteRule ^([a-z]+)/([a-z]+)/$ /$1.php?a=$2
RewriteRule 
^([a-z]+)/([a-z]+)/([0-9]+)/$ /$1.php?a=$2&id=$3

RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
. /404.php [L
По поводу первых двух правил, можно ли написать условие, которое будет проверять по первой обратной связи т.е. если $1 существует как файл, тогда и выполняется правило

Второй вопрос, есть ли возможность запретить прямой доступ к файлам php ? Т.е. только через SEO, а уже страница.php?а=что-то, никак...
 
Ответить с цитированием

  #2  
Старый 27.04.2010, 23:08
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами: 8838619

Репутация: 123
По умолчанию

Цитата:
Сообщение от uvlad  
Всем привет !

Есть несколько вопросов по mod_rewrite, сегодня почитал не много документации по данному модулю, посмотрел некоторые примеры, но одну проблему уже долгое время не могу решить, да и незнаю можно ли вообще такое сделать.

Это то что на данный момент есть в .htaccess, последение правило с условиями возможно временные.

PHP код:
RewriteRule ^([a-z]+)/([a-z]+)/$ /$1.php?a=$2
RewriteRule 
^([a-z]+)/([a-z]+)/([0-9]+)/$ /$1.php?a=$2&id=$3

RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
. /404.php [L
По поводу первых двух правил, можно ли написать условие, которое будет проверять по первой обратной связи т.е. если $1 существует как файл, тогда и выполняется правило

Второй вопрос, есть ли возможность запретить прямой доступ к файлам php ? Т.е. только через SEO, а уже страница.php?а=что-то, никак...
1)проверяй все на пхп,
2)можно, но опять же это все логика твоего пхп скрипта
 
Ответить с цитированием

  #3  
Старый 27.04.2010, 22:44
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами: 9626394

Репутация: 357


По умолчанию

Сейчас в .htaccess:
Код:
RewriteEngine On
RewriteRule ^id([0-9]*)$ /index.php?id=$1
Как сделать чтобы при переходе на адрес id1_info отправлялся гет:
Код:
/index.php?id=$1&q=info
А если без приставки инфо то следуя первой инструкции...
 
Ответить с цитированием

  #4  
Старый 27.04.2010, 22:59
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами: 8838619

Репутация: 123
По умолчанию

Код:
RewriteEngine On
RewriteRule ^id([0-9]*)_info$ /index.php?id=$1&q=info
RewriteRule ^id([0-9]*)$ /index.php?id=$1
 
Ответить с цитированием

  #5  
Старый 28.04.2010, 16:56
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
С нами: 9347610

Репутация: 165
По умолчанию

Всем привет.
Как можно составить регулярное выражение в Mod_Rewrite
Чтобы
http://site.ru/?user=senap
работала так
http://senap.site.ru ?
 
Ответить с цитированием

  #6  
Старый 28.04.2010, 17:49
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами: 8838619

Репутация: 123
По умолчанию

попробуй без знака ?
или поставить перед ним \
(экранирование)
 
Ответить с цитированием

  #7  
Старый 28.04.2010, 17:54
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
С нами: 9347610

Репутация: 165
По умолчанию

RewriteRule ^\?user=senap$ senap.localhost{QUERY_STRING} [L]
пытаюсь обратится по адресу senap.localhost
Код:
Ошибка!
Невозможно найти удалённый сервер
 
Ответить с цитированием

  #8  
Старый 28.04.2010, 18:02
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами: 8838619

Репутация: 123
По умолчанию

senap.localhost - это адрес папки (нету http)

не парь мозг и сделай
PHP код:
if(isset($_GET['user']))
    if(
$_GET['user'] == 'senap')
        
header("Location: http://www.site.ru"); 

Последний раз редактировалось phpdreamer; 28.04.2010 в 18:14..
 
Ответить с цитированием

  #9  
Старый 28.04.2010, 18:23
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
С нами: 9347610

Репутация: 165
По умолчанию

Цитата:
Сообщение от phpdreamer  
senap.localhost - это адрес папки (нету http)

не парь мозг и сделай
PHP код:
if(isset($_GET['user']))
    if(
$_GET['user'] == 'senap')
        
header("Location: http://www.site.ru"); 
Это уже совсем не то
Нужно чтобы это senap.site.ru преобразовало в это site.ru/?user=senap
по идеи должно рабоать это
PHP код:
RewriteCond %{HTTP_HOST} !^localhost
RewriteCond 
%{HTTP_HOST} ([^.]+).localhost
RewriteRule 
^(.*)$ /var/www/index.php?s=%
Но не работает

Последний раз редактировалось SeNaP; 28.04.2010 в 18:26..
 
Ответить с цитированием

  #10  
Старый 28.04.2010, 20:17
mazaxaka
Участник форума
Регистрация: 16.02.2008
Сообщений: 177
С нами: 9597253

Репутация: 82
По умолчанию

<div>Общий заработок: <span>$5.03</span></div>
помошите с регуляркой. не получается спарсить иза $
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/Wi-Fi/Wardriving 2 02.11.2008 00:40



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.