当前目录设置如下:
website
- web
index.php
- base
file.php
.htaccess
文档根目录是' web'目录。 index.php文件有一个require脚本来获取' file.php'。
require(dirname(dirname(__FILE__)) . '/base/file.php');
我想要实现的是,如果'基地'目录不存在,.htaccess文件将重写' base'文件到本地计算机上的另一个位置。目前我在httpd.conf中设置了一个Alias:
Alias /basefiles "/Users/Guest/base"
<Directory "/Users/Guest/base">
Options +Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
并在.htaccess文件中:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule ^base/(.*)$ /basefiles/$1 [L]
目前这根本不起作用。有什么想法吗?
答案 0 :(得分:0)
PHP require
与如何从网络访问文件无关。
To&#34;重写&#34; PHP文件位置,您可以在PHP脚本中明确检查,如果目录和文件存在并采取相应的行动。
另一种策略可能会将include_path
(set_include_path
)设置为/.../base:/.../basefiles
,然后只需
require('file.php');