php - 如何在 Dreamhost 上为多个域创建共享文件夹

标签 php linux lamp

我有一个带有 Dreamhost 的虚拟专用服务器。我正在尝试创建一个我的所有域都可以访问的共享文件夹。在该文件夹中,我想放置 PHP 类,甚至是 javascript 之类的静态文件。

我已经创建了一个与我的域文件夹处于同一级别的目录。我想通过这样的方式调用文件... /home/username/shared/file.php。然而这不起作用,我希望一些魔法(比如 .htaccess 可能)能让这项工作成功。

编辑:哎呀,好的,我可以使用上面的方法包含 PHP 文件。如何包含同一目录中的静态文件,如 Javascript、CSS、图像等?

这有效:

<?php include('/home/username/shared/file.php'); ?>

这不起作用:

<link rel="stylesheet" type="text/css" href="/home/username/shared/reset.css" media="screen" />

或者,我意识到我可以将静态文件放在域中,然后简单地指向它们,但我想知道如何使其他配置工作。

最佳答案

你应该高兴<link rel="stylesheet" type="text/css" href="/home/username/shared/reset.css" media="screen" />不工作。如果是这样,您将面临很大的安全漏洞。

正确的方法是在文档根目录中为该共享目录创建一个符号库,或者使用别名。

符号链接(symbolic link)方法

在 shell 中运行以下命令:

ln -s /home/username/shared /home/target/

它将创建一个名为 /home/target/shared 的符号链接(symbolic link),指向/home/username/shared 。您可能需要添加 Options +FollowSymLinks指令到您的服务器配置(或 .htaccess 文件)

别名方法

此方法需要更改您的服务器配置(例如httpd.conf)。添加 Alias 指令:

Alias /shared /home/username/target

注意:这仅用于通过服务器发出的请求(例如 http://example/shared/reset.css ),而不用于 PHP 文件。在 PHP 文件中,您必须使用完整路径 ( /home/username/shared/file.php )

<小时/>

您选择哪种方法取决于您。后者更容易配置,因为您不必担心权限/所有权。如果您确实需要使用/home/target/shared/file.php,则可以使用前者。 .

关于php - 如何在 Dreamhost 上为多个域创建共享文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882496/

相关文章:

mysql - 有人可以改进这个查询吗?

php - 如何创建邮件服务器?

php - 将 JSP/Tomcat 支持添加到现有的 LAMP Web 服务器是否为 "OK"?

c - 如何在 mmaped 内存中删除脏页并为快速 munmap 做准备?

linux - openssl 验证和 s_client 命令之间的差异

linux - CentOS 6.5 中的 cgi-bin

php - 尝试在文档导出中添加两个 <ol> 但它们被合并为一个 <ol>

php - 如何将输入值从 PHP 传递到 Python 文件?

PHP 遍历数组

php - pecl 安装 xdebug 版本错误