Как исправить рекурсию RewriteRule?

0

Я запускаю tine (tine20.org) на сервере Ubuntu 12.04, используя Plesk для его настройки. В Plesk у меня есть субдомен (tine.mydomain.com). В конфигурации веб-сервера этого субдомена я добавил эти строки:

RewriteEngine on
RewriteRule /Microsoft-Server-ActiveSync(.*) /index.php?frontend=activesync [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]

Я скопировал его из вики-страницы Tine: https://www.tine20.org/wiki/index.php/Admins/Synchronisation

Когда я пытаюсь подключиться к tine.mydomain.com/Microsoft-Server-ActiveSync, я получаю сообщение об ошибке 500 и записываю эти строки:

[Fri Nov 21 19:46:36 2014] [debug] core.c(3112): [client 2.206.3.119] r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /phppath/cgi_wrapper/Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] core.c(3118): [client 2.206.3.119] redirected from r->uri = /Microsoft-Server-ActiveSync
[Fri Nov 21 19:46:36 2014] [debug] mod_deflate.c(700): [client 2.206.3.119] Zlib: Compressed 621 to 379 : URL /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/Microsoft-Server-ActiveSync 

Итак, есть какая-то рекурсия, но я не знаю, почему и как ее исправить. Как это исправить?

  • 2
    Возможно, поместите якорь ^ перед шаблоном, чтобы он соответствовал только в том случае, если это первая часть строки.
  • 0
    Это похоже на работу. Нет, он не принимает имя пользователя, но я думаю, это другая проблема. Большое спасибо!
Теги:
mod-rewrite
activesync

1 ответ

0

Попробуйте добавить это в свой.htaccess и попробуйте

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Вы перезагрузили или перезапустили apache?

/etc/init.d/apache reload

Если вам нужно поставить это между вашим виртуальным хостом, но вы должны поместить его в свой.htaccess каталога, к которому вы пытаетесь получить доступ.

Я надеюсь, что у вас будет правильно настроен ваш virtualhost/tine.mydomain.com, чтобы иметь эти правила в вашем.httpd conf.

  • 0
    Я не должен устанавливать это вручную. У меня есть веб-интерфейс, где у меня есть поле ввода, в котором я могу добавить новые настройки.
  • 1
    используйте fetcher, например, wget или curl, чтобы протестировать ваш реальный URL-вызов. посмотрим, что вы получите.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню