我使用动态虚拟主机来运行托管服务。目前,它仅允许静态网站,但我正在开发一个支持 PHP 的新版本。这显然会带来一些安全问题。
目前,网站存储在 中/var/www/domains/{{domain.com}}
,并使用 进行配置
<VirtualHost *:80>
# this log format can be split per-virtual-host based on the first field
# using the split-logfile utility.
CustomLog /var/log/apache2/access_log vcommon
ErrorDocument 404 /var/www/domains/hexagon.sudosu.co/templates/404.html
# include the server name in the filenames used to satisfy requests
VirtualDocumentRoot /var/www/domains/%0
</VirtualHost>
我希望能够将其设置为每个站点的 PHP 基目录/var/www/domains/{{domain.com}}/
,但是我见过的其他问题使用<Directory>
设置 PHP 基目录,并且由于我的主机是动态的,据我所知我无法做到这一点。
你有什么建议吗?
答案1
简而言之,没有。(至少据我所知没有。)
Apache 设计基于静态配置。更有利的描述称为mod_vhost_aliasmod_rewrite 功能的一个特例,而不是 hack,但后者可能是一个更好的描述。
其余 Apache 指令都不是动态的。
您可能能够通过.htaccess
在每个 VirtualDocumentRoot 目录的根目录中放置一个不可变的文件并采取一些措施禁止用户上传自己的 .htaccess 文件来稍微解决这个限制。