0

我这里有个问题:

我有在virutalhost上运行的应用程序:example.com

该应用程序处理所有请求 example.com/* 并且它们落入 index.php 脚本中,魔法进一步发生。

魔术环境变量 $ _SERVER ['REQUEST_URI'] 的组件,一切正常,直到我想在子目录中运行应用程序:example.com/abc/*

我的问题是:

输入example.com/abc/whatever $ _SERVER ['REQUEST_URI'] 中的index.php 脚本是条目后,如何使用.htaccess 中的条目修改$ _SERVER ['REQUEST_URI'] 条目:/whatever 而不是/abc /任何?

我做了一些研究,慢慢得出结论,它只是在 index.php 脚本中修改 $_SERVER ['REQUEST_URI'] 是一种解决方案吗?

有人有想法吗?

感谢您的任何帮助

4

1 回答 1

0

尽量不要$_SERVER['REQUEST_URI']用于这种类型的东西。

而是define在整个应用程序中使用然后使用这些定义。因此,对于您的子目录,我们使用它,然后BASE_DIRBASE_URL整个应用程序中使用。

define("BASE_DIR", "/var/www/abc/");
define("BASE_URL", "/abc);

如果您需要再次移动它,这很容易完成,因为您只需更改这两个变量,您无需担心确保 $_SERVER['REQUEST_URI'] 是正确的。

define("BASE_DIR", "/var/www/sitename.com/httpdocs/subdir");
define("BASE_URL", "/subdir);

请注意,您像这样使用这些定义

echo "The base dir is " . BASE_DIR;
于 2013-07-26T12:07:56.807 回答