我在.htaccess中使用RewriteRule将任何不是现有文件的内容重定向到"cms.php"文件,该文件动态处理任何请求(或者在适当时输出一些错误消息).
这是我在.htaccess中所做的事情:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /cms.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)
奇迹般有效.
但是,出于开发目的,我还想在我的本地XAMPP系统上托管相同的站点.在我的实际网络服务器上,cms.php位于de document根文件夹中,因此我可以在那里使用/cms.php.但是在我的本地开发机器上,这个站点位于某个子目录中,即/cms.php不是正确的路径.
我也试过"cms.php"(没有/在它前面)以及"./cms.php"(希望"."表示当前目录)但无济于事.只有当我在RewriteRule中明确指定/the/correct/subdir/cms.php时,它才能正常工作,但显然这只在开发机器上有效,而不在我的实时网络服务器上.
我可以以某种方式使用智能路径或mod_rewrite变量或其他东西,以便.htaccess知道它需要重定向到我的cms.php文件在同一个目录中.htaccess本身所在的位置?