首页 > 解决方案 > 在 PHP 7.2 开发服务器上使用 router.php 脚本来处理 .htaccess mod 重写

问题描述

我的网站在部署到 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

router.php脚本应该处理.htaccess文件通常在 Apache 服务器上处理的所有路由。我尝试使用此处router.php找到的示例脚本,但它不适用于我的设置。我认为问题在于我的文件用于为重写提供新的基本 URL,但脚本没有类似的基本 URL。给定脚本出现的问题是它试图重写所有 URL,而不仅仅是..htaccessRewriteBase /c/router.phprouter.php/c/

我的问题是:我应该如何准备router.php文件以处理我.htaccess上面提到的特定文件?

标签: phpapache.htaccessmod-rewrite

解决方案


推荐阅读