Использование сценария router.php на сервере разработки PHP 7.2 для обработки изменений .htaccess. - PullRequest
0 голосов
/ 03 ноября 2019

Мой веб-сайт работает отлично при развертывании на сервере Apache. Он опирается на этот .htaccess файл:

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /c/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Теперь я пытаюсь провести некоторое тестирование с использованием PHP 7.2.2 Development Server на локальном хосте, который, как я понимаю, не использует файл .htaccess, потому что он не 'я полагаюсь на Apache.

Я узнал, что можно создать сценарий router.php в корне сайта, а затем запустить локальный сервер разработки следующим образом:

php -S localhost:8080 router.php

* 1013Сценарий * должен обрабатывать всю маршрутизацию, которую файл .htaccess обычно обрабатывает на сервере Apache. Я попытался с помощью примера router.php найти скрипт здесь , но он не работает правильно для моей установки. Я думаю, проблема в том, что мой .htaccess файл использует RewriteBase /c/ для предоставления нового базового URL для перезаписи, но сценарий router.php не имеет аналогичного базового URL. Проблема, возникающая с данным сценарием router.php, заключается в том, что он пытается переписать все URL-адреса, а не только те, которые указаны в новом базовом URL-адресе /c/.

. Мой вопрос: как подготовитьrouter.php файл для обработки моего конкретного .htaccess файла, отмеченного выше?

...