【发布时间】:2019-05-01 17:02:38
【问题描述】:
我想部署一个打包在 .phar 文件中的 Web 应用程序,并像我实际上从 $_SERVER["DOCUMENT_ROOT"] 中的 index.php 文件一样处理来自它的请求。
Apache 中默认的mod_rewrite 是这样的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如果我想对 .phar 文件做同样的事情,我想(虽然我可能是错的,所以任何方向都会受到欢迎)我可以这样做:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /application.phar [L]
</IfModule>
我总是可以有两个 .htaccess 文件并根据部署类型使用适当的一个,但如果可能的话,我希望同时支持这两种策略。无论我想运行打包或解包的应用程序,我都希望能够在项目之间重用 .htaccess 文件,但考虑到打包版本应该是首选方式。
如何将这两种不同的规则合二为一?
【问题讨论】: