Переписать правила в Apache для запуска PHP - PullRequest
1 голос
/ 31 октября 2019

Итак, мне нужно, чтобы веб-сервис PHP работал в Apache в контейнере CentOS7. Для этого я взял контейнер CentOS7, добавил требуемые обороты через yum install, посмотрел, как он перетаскивает все свои зависимости, и затем я поместил этот фрагмент в /etc/httpd/conf.d.

ServerName mbg-webrtc-web

RewriteEngine on
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_virtual

CustomLog /dev/stderr combined_virtual
ErrorLog /dev/stderr
TransferLog /dev/stdout

LogLevel info rewrite:trace6

Alias /webrtc /opt/a5000/infra/utd/www/webrtc

RewriteRule ^/webrtc/api/index.php.*$  - [L]
RewriteRule ^/webrtc/api/(.*)$ /webrtc/api/index.php [PT,L]
RewriteRule ^/webrtc /notfound [R,L]

<Directory "/opt/a5000/infra/utd/www/webrtc">
    Options Indexes FollowSymlinks MultiViews
    Require all granted
    AllowOverride All
    DirectoryIndex index.php
</Directory>

Теперь клиент обращается к самому себе через полное доменное имя, которое через прокси-контейнер через nginx передает этот URL: https://mbg -webrtc-web / webrtc / api / IcpSideInfo

Правила перезаписи, которые работают на платформе автономного сервера, на которой работают Apache 2.4 и CentOS7, должны преобразовать это для выполнения кода index.php, где он будет смотреть на свой вызванный путь и запускать внутренний вызов функции IcpSideInfo.

Но правила перезаписи, похоже, не ударили. Из них не видно журналирования и не происходит перезапись. Я получаю 404, потому что псевдоним работает, и Apache пытается разрешить локальный файл, который не существует. Я в тупике.

Есть идеи, что я тут не так делаю?

Спасибо.

...