Felclist
Новичок
логика работы RewriteRule
Вот никак не пойму ее в моем случае:
требуется все пути удовлетворяющие RewriteCond приводить к нужному виду, записываю:
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.+)$ ?q=%1
но эта констукция не работает(выдается internal server error). работает она только в таком виде
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.+)$ $1?q=%1 (обнаружил это случайно)
Стал экспериментировать, получил, что:
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.{1,8})$ ?q=%1 - работает, а:
RewriteRule ^(.{1,9})$ ?q=%1 - уже не работает без приписки $1
Отсюда вопросы:
1. почему такое происходит именно с точкой(если я запишу например([0-9]*), То все будет работать для цифр)?
2. Чем так критичен переход с максимального кол-ва символов 8 на 9?
3. зачем он(апач) требует постановки $1?q=%1 ? что это дает вообще?
Буду признателен, если мне кто-нибудь разъяснит
Вот никак не пойму ее в моем случае:
требуется все пути удовлетворяющие RewriteCond приводить к нужному виду, записываю:
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.+)$ ?q=%1
но эта констукция не работает(выдается internal server error). работает она только в таком виде
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.+)$ $1?q=%1 (обнаружил это случайно)
Стал экспериментировать, получил, что:
RewriteCond %{HTTP_Host} ^([^\.]+)mysite.ru
RewriteRule ^(.{1,8})$ ?q=%1 - работает, а:
RewriteRule ^(.{1,9})$ ?q=%1 - уже не работает без приписки $1
Отсюда вопросы:
1. почему такое происходит именно с точкой(если я запишу например([0-9]*), То все будет работать для цифр)?
2. Чем так критичен переход с максимального кол-ва символов 8 на 9?
3. зачем он(апач) требует постановки $1?q=%1 ? что это дает вообще?
Буду признателен, если мне кто-нибудь разъяснит