http://example.com/portal/p/Logon/ не работает после миграции (Apache, php) - PullRequest
0 голосов
/ 09 декабря 2018

Я перенес динамический веб-сайт (php, mysql) на новый хост в плане общего сервера.

Сайт полностью динамический и не имеет фиксированных путей как таковых, за исключением файла одиночной точки входа "portal.php".Сайт существует в виде path-info к portal.php и создается из шаблонов в базе данных mysql.Например, нет каталога / portal.

Домашняя страница загружается нормально, но не подстраницы. Pathinfo возвращается правильно, но веб-сервер не переводит его, я думаю:

http://example.com/portal/p/Logon = Сбой с ошибкой 404 http://example.com/portal.php/p/Logon = Работает!

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

Я пробовал различные варианты в файле .htaccess в корне каталога веб-сайта, нолучшее, что я мог сделать, это получить внутреннюю ошибку 500.По крайней мере, я знаю, что .htaccess читается.

Я надеюсь, что смогу решить эту проблему, в противном случае мне придется вместо этого перенести сайт на выделенный сервер.

1 Ответ

0 голосов
/ 10 декабря 2018

Хорошо, я нашел решение.Теперь я понимаю, почему в моем первоначальном посте не было информации:)

Я прочитал это руководство: https://httpd.apache.org/docs/current/content-negotiation.html

И после проб и ошибок, следующее работало с файлом .htaccess, помещенным в root (яизменен файл html5boilerplate .htaccess):

Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteRule ^portal/(.*) /portal.php/$1
RewriteRule ^portal$ /portal.php
...