Проблема с настройкой правил перезаписи Phabricator

У меня возникли проблемы с установкой phabricator. На самом деле кажется, что это будет просто. Я точно скопировал код примера.

apache2.conf:

<VirtualHost *>
  # Change this to the domain which points to your host.
  ServerName localhost

  # Change this to the path where you put 'phabricator' when you checked it
  # out from GitHub when following the Installation Guide.
  #
  # Make sure you include "/webroot" at the end!
  DocumentRoot /var/www/phabricator/webroot

  RewriteEngine on
  RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
  RewriteRule ^/favicon.ico   -                       [L,QSA]
  RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
</VirtualHost>


<Directory "/var/www/phabricator/webroot">
  Require all granted
</Directory>

Всякий раз, когда я перехожу к IP-адресу сервера в браузере, он дает мне эту ошибку:

Request parameter '__path__' is not set. Your rewrite rules are not configured correctly.

Я обнаружил, что это часть кода фабрикатора:

if (!isset($_REQUEST['__path__'])) {
    self::didFatal(
        "Request parameter '__path__' is not set. Your rewrite rules ".
        "are not configured correctly.");
}

Кто-нибудь знает, как пройти через это?


person mau    schedule 18.08.2014    source источник
comment
Я столкнулся с той же проблемой, но ни один из ответов не помог мне. Кто-нибудь может помочь? stackoverflow.com/ вопросы/49344737/   -  person andreybleme    schedule 19.03.2018


Ответы (2)


У меня была аналогичная проблема с Phab, и я решил ее следующим образом:

  1. Поместите сегмент Directory внутри сегмента VirtualHost.
  2. Вы используете какой-либо другой виртуальный сервер в своей системе? Если это так, укажите порт *:80 (или попробуйте другой порт, не забудьте добавить Listen 8081 перед объявлением сегмента VirtualHost, если вы попробуете другой порт)
  3. И, наконец, замените содержимое сегмента каталога следующим:

    Order allow,deny
    Allow from all
    
person Jorge Caballero    schedule 19.08.2014
comment
Я столкнулся с той же проблемой, но ни один из ответов не помог мне. Кто-нибудь может помочь? stackoverflow.com/ вопросы/49344737/ - person andreybleme; 19.03.2018

Я также столкнулся с той же проблемой. Просто поместите

RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]

и удалите следующую строку из вашего apache2.conf.

RewriteRule ^/rsrc/(.*)     -                       [L,QSA]

RewriteRule ^/favicon.ico   -                       [L,QSA]
person Talk2Nit    schedule 23.11.2016
comment
Спасибо! У меня это сработало, просто используя первую строку на сервере Webmin/Virtualmin :) Это также написано в документации, но я был слеп, чтобы увидеть это. - person tbutcaru; 23.02.2017
comment
Я следую руководству и пытаюсь установить его на общий хостинг GoDaddy. Я получаю путь, не заданный проблемой. У меня нет доступа к apache2.conf, и я попытался поместить его в файл .htaccess, но вместо этого я получаю ошибку сервера 500. Любые идеи? - person Frantumn; 19.06.2017
comment
Я столкнулся с той же проблемой, но ни один из ответов не помог мне. Кто-нибудь может помочь? stackoverflow.com/ вопросы/49344737/ - person andreybleme; 19.03.2018