
26.04.2010, 17:22
|
|
Новичок
Регистрация: 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?а=что-то, никак...
|
|
|

27.04.2010, 23:08
|
|
Постоянный
Регистрация: 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)можно, но опять же это все логика твоего пхп скрипта
|
|
|

27.04.2010, 22:44
|
|
Постоянный
Регистрация: 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
А если без приставки инфо то следуя первой инструкции...
|
|
|

27.04.2010, 22:59
|
|
Постоянный
Регистрация: 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
|
|
|

28.04.2010, 16:56
|
|
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
С нами:
9347610
Репутация:
165
|
|
Всем привет.
Как можно составить регулярное выражение в Mod_Rewrite
Чтобы
http://site.ru/?user=senap
работала так
http://senap.site.ru ?
|
|
|

28.04.2010, 17:49
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами:
8838619
Репутация:
123
|
|
попробуй без знака ?
или поставить перед ним \
(экранирование)
|
|
|

28.04.2010, 17:54
|
|
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
С нами:
9347610
Репутация:
165
|
|
RewriteRule ^\?user=senap$ senap.localhost{QUERY_STRING} [L]
пытаюсь обратится по адресу senap.localhost
Код:
Ошибка!
Невозможно найти удалённый сервер
|
|
|

28.04.2010, 18:02
|
|
Постоянный
Регистрация: 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..
|
|
|

28.04.2010, 18:23
|
|
Участник форума
Регистрация: 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=%1
Но не работает 
Последний раз редактировалось SeNaP; 28.04.2010 в 18:26..
|
|
|

28.04.2010, 20:17
|
|
Участник форума
Регистрация: 16.02.2008
Сообщений: 177
С нами:
9597253
Репутация:
82
|
|
<div>Общий заработок: <span>$5.03</span></div>
помошите с регуляркой. не получается спарсить иза $
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|