Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
мну довольно <(-__-)l
214 / 203 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
1

rewrite

18.03.2011, 17:50. Показов 2158. Ответов 3
Метки нет (Все метки)

Помогите разобраться в ошибке? использую мод rewrite, а сервер выдает error 500..
вот
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog /var/www/rewrite.log
RewriteLogLevel 5
RewriteBase /
Rewrite ^registration/error/([0-9]+)$ /index.php?page=registration&error=$1 [L]
Rewrite ^registration/$ /index.php?page=registration [R,L]
</IfModule>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2011, 17:50
Ответы с готовыми решениями:

.htaccess Rewrite
На сервере есть html файлик. В нем подгружается скрипт по такому адресу. &lt;script...

rewrite правила
подскажите пожалуйста как из ссылок: http://www.&lt;site&gt;.ru/send/index.php...

Mod rewrite
Здраствуйте только начал заниматься rewite-ом. И сразу сталкнулся с непонятным)) вощем есть...

Rewrite Rule
Нужно чтобы при переходе на страницу /topic1#post3555 открывалась страница...

3
13198 / 6585 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
18.03.2011, 18:25 2
Цитата Сообщение от gGrn-7DA Посмотреть сообщение
а сервер выдает error 500
См. логи apache/logs/error.log

Цитата Сообщение от gGrn-7DA Посмотреть сообщение
Rewrite ^registration
Код
RewriteRule ...
1
мну довольно <(-__-)l
214 / 203 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
19.03.2011, 18:56  [ТС] 3
дописал правило, теперь
The requested URL /registration/error/3 was not found on this server.
и
The requested URL /registration/ was not found on this server.

Добавлено через 5 минут
последние записи в логе апача
[Fri Mar 18 18:32:54 2011] [error] [client 94.180.225.10] File does not exist: /var/www/ggrn-7da/registration
[Fri Mar 18 18:32:54 2011] [error] [client 94.180.225.10] File does not exist: /var/www/ggrn-7da/favicon.ico
Добавлено через 47 минут
Код
RewriteRule ^registration$ /index.php?page=registration [L]
-работает
Код
RewriteRule ^registration/$ /index.php?page=registration [L]
тоже, но при таком линке на странице не применяются стилевые назначения, поэтому применяю
Код
RewriteRule ^registration(.+)$ /registration [R]
и host/registration/ переадресуется на host/registration - потому стили применяются.

но с
Код
RewriteRule ^registration/error/([0-9]+)$ /index.php?page=registration&error=$1 [L]
все немного сложнее, так тоже стили браузер не применяет, но исправить подобным образом пока не удалось. [R] просто так не поставишь - путь должен сохраниться искомый...


Сделал по другому, по красивее)
вот:
Код
RewriteRule ^registration?new$ /index.php?page=registration&action=new [L]
но не работает...
A это работает - почему предыдущий не работает?)
Код
RewriteRule ^registration?([a-z]+)$ /index.php?page=registration&action=$1 [L]
Добавлено через 13 минут
пока остановился на этом :
Код
RewriteRule ^([a-z]+)?([a-z]*)$ /index.php?page=$1&action=$2 [L]
RewriteRule ^registration(.*)$ /index.php?page=registration [L]
если есть ошибки, скажите как мона их исправить? оба правила работают.

Добавлено через 25 минут
Проблема появилась, которую не сразу заметил...
Код
RewriteRule ^([a-z]+)?([a-z]*)$ /index.php?page=$1&action=$2
и получаю из /registration?new /index.php?page=registration&action=
и запрос /registration тоже обрабатывается таким образом(((

Добавлено через 12 минут
Как мне отловить синтаксис что бы было так:
/registration?new -> /index.php?page=registration&action=new
/registration -> /index.php?page=registration


Добавлено через 17 часов 50 минут
Точнее каr сделать так? я видать что-то нет так делаю(((
/$1?$2 -> /index.php?page=$1&action=$2
/$1 -> /index.php?page=$1

Добавлено через 43 минуты

Все разобрался я с этим модом)вот рабочий вариант для
/$1?$2 -> /index.php?page=$1&action=$2
/$1 -> /index.php?page=$1
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^([a-z]+)
RewriteRule ^([a-z]+)/?$ /index.php?page=$1&action=%1 [R]
RewriteRule ^([a-z]+)/?$ /index.php?page=$1 [R]
</IfModule>


Добавлено через 22 минуты
А можно короткий рабочий пример изменения строки
gg.host -> host/gg ?
где host это ServerName?
и будут ли запросы в браузере от gg.host/ идти на host/?
и сможет ли апач правильно определить, что запрос gg.host/ надо отдать для хоста host/?

Надеюсь не слишклм много вопросов?))

Добавлено через 36 минут
нет сами собой запросы от gg.host/ идти на host/ не пойдут.
и апач сам по себе не понимает что тут надо делать замену.
0
мну довольно <(-__-)l
214 / 203 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
22.03.2011, 22:43  [ТС] 4
Как этим реврайтом www.host заменить на host/www ???
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2011, 22:43

Mode Rewrite
Всем привет. Вот что в .htaccess RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME}...

rewrite rules
Помогите разобраться с правилами: 1. Осуществить 301 редирект со страниц сайта http://domain.ru...

rewrite Rule
Здравствуйте, помгите сделать ЧПУ. делаю так, но ничего не получается. RewriteEngine On...

Rewrite не работает флаг N
привет, задача после первой обработки запроса, полученый запрос обработать вторым правилом, для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.