【发布时间】:2014-01-28 10:10:57
【问题描述】:
我在 .htaccess 中使用 RewriteRule 将不是现有文件的 anything 重定向到动态处理任何请求的“cms.php”文件(或在适当时输出一些错误消息)。
这是我在 .htaccess 中所做的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /cms.php [L,QSA]
像魅力一样工作。
但是,出于开发目的,我还想在我的本地 XAMPP 系统上托管相同的站点。在我实际的实时网络服务器上,cms.php 就在 de 文档根文件夹中,因此我可以在那里使用 /cms.php。但是在我的本地开发机器上,该站点位于某个子目录中,即 /cms.php 不是正确的路径。
我还尝试了“cms.php”(前面没有 /)以及“./cms.php”(希望“.”表示当前目录),但无济于事。只有当我在 RewriteRule 中明确指定 /the/correct/subdir/cms.php 时,它才能正常工作,但显然这仅在开发机器上有效,在我的实时网络服务器上无效。
我能否以某种方式使用智能路径或 mod_rewrite 变量或其他东西,以便 .htaccess 了解它需要重定向到我的 cms.php 文件在与 .htaccess 本身所在的目录相同的目录中?
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect