我有一个问题:
我有在virutalhost上运行的应用程序:example.com
应用程序处理所有所有请求example.com/*,它们属于index.php脚本,其中魔术进一步发生。
魔术环境变量$ _SERVER ['REQUEST_URI']的组件,一切正常,直到我想在子目录中运行应用程序:example.com/abc / *
我的问题是:
在输入example.com/abc/whatever index.php脚本后,如何使用.htaccess中的条目修改$ _SERVER ['REQUEST_URI'] 在$ _SERVER ['REQUEST_URI']中是条目:/ what and not / abc / whatever?
我做了一些研究,并慢慢得出结论,它只是对index.php脚本中$ _SERVER ['REQUEST_URI']的修改是一种解决方案吗?
有人有想法吗?
感谢您的帮助
答案 0 :(得分:0)
尽量不要将$_SERVER['REQUEST_URI']
用于此类事情。
而是使用define
,然后在整个应用程序中使用这些定义。因此,对于您的子目录,请在整个应用程序中使用BASE_DIR
和BASE_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;