php - 在 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,而不仅仅是..htaccess
RewriteBase /c/
router.php
router.php
/c/
我的问题是:我应该如何准备router.php
文件以处理我.htaccess
上面提到的特定文件?
解决方案
推荐阅读
- java - 如何清除用户控制台?
- jquery - 数据表分页数超过预期数
- android - 如何访问Android Q中的所有图片?
- python - 使用递归函数获取树的高度
- firebase - request.resource 对象在读取请求的上下文中使用安全规则向 Firestore
- python - 错误:命令“...Visual C++ for Python...cl.exe...f_utilsmodule.c...f_utilsmodule.obj”失败,退出状态为 2
- windows - 预先确定哪个应用程序将打开文件
- bash - 遍历一个非常大的列表
- django-rest-framework - “如何在 'django rest_framework' 中添加搜索过滤器”
- php - Laravel 应用 DDoS 攻击共享服务器