在PHP7.2开发服务器上使用router.php脚本处理.htaccess mod重写
我的网站在部署到Apache服务器时运行良好。它依赖于此在PHP7.2开发服务器上使用router.php脚本处理.htaccess mod重写,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我的网站在部署到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] &
.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>
router.php
脚本应该处理.htaccess
文件通常在Apache服务器上处理的所有路由。我尝试使用找到的示例router.php
脚本,但它在我的设置中无法正常工作。我认为问题在于我的.htaccess
文件利用RewriteBase/c/
为重写提供了一个新的基本URL,但是router.php
脚本没有类似的基本URL。给定的router.php
脚本出现的问题是,它试图重写所有URL,而不仅仅是/c/
的新基本URL中的URL
我的问题是:我应该如何准备
router.php
文件以处理上面提到的特定.htaccess
文件?您链接的问题有一些非常详尽的解释,您没有解释什么不适合您。Apache是一个成熟的HTTP服务器,PHP内置服务器是一个简单的开发工具:你不能用后者模仿前者100%的功能。谢谢Alvaro。我编辑了这个问题,以显示我在使用router.php
脚本时遇到的具体问题。您似乎遇到了问题(而不是错过了一个功能)。我不完全确定您的问题是什么,但可能您缺少了-t
选项()。另请参见。您链接的问题有一些非常透彻的解释,但您没有解释什么不适合您。Apache是一个成熟的HTTP服务器,PHP内置服务器是一个简单的开发工具:你不能用后者模仿前者100%的功能。谢谢Alvaro。我编辑了这个问题,以显示我在使用router.php
脚本时遇到的具体问题。您似乎遇到了问题(而不是错过了一个功能)。我不完全确定您的问题是什么,但可能您缺少了-t
选项()。另见。
php -S localhost:8080 router.php