有没有办法根据目录是否存在,在Apache中包含配置设置?基本上我有一个便携式硬盘驱动器,在工作和家庭之间运输,有一些我正在开发的东西。如果文件夹存在,我只希望Apache配置加载特定的虚拟主机。有没有办法检查Apache配置文件中是否存在目录?
回答
不,似乎没有直接的方法来做到这一点。
可能是唯一的解决方案是IfDefine
指令。您可以使用-d
参数定义服务器启动时的定义。
参数名称参数是在服务器启动时通过
-Dparameter-
在httpd命令行上给出的定义。
您可能能够检查批处理或bash文件中是否存在目录,并相应地设置-d
参数。
无论这是否是一个选项,将取决于您的服务器如何从便携式硬盘启动。
我想出了一个似乎适用于Linux和OS X的解决方案,它取决于“挂载点”。也可以在Windows中模拟它,但您可能需要使用FUSE和/或Cygwin创意。
如果您在主目录中创建了一个空文件夹,例如“/ Users/username/ExtraVhosts”,您可以将apache指令添加到“Include/Users/username/ExtraVhosts/*”。
然后,当您插入拇指驱动器时,可以挂载到某个位置,然后使用挂载点“绑定”将ExtraVhosts文件夹交叉链接到移动设备上的文件夹。
一个OS X例如:
- 我已经拇指驱动器称为“樱桃炸弹”
- 当我将其插入时,它总是被安装到/卷/樱桃炸弹
- 然后我可以使用bindfs(须藤端口安装bindfs)安装它的一个子文件夹中,像这样:
- 须藤bindfs /卷/樱桃炸弹/项目/虚拟主机/用户/用户名/ ExtraVhosts
- 然后我就可以重新启动Apache在更新的配置为:
- 须藤的/ opt /本地/ Apache2的/斌/的apachectl重启
在这一点上,它只是一个添加条目的事在/ etc/hosts中找到服务器别名。
Linux等价物将使用mount命令的“--bind”参数。
一个警告:这使得很难快速卸载USB驱动器,因为它总是被apache标记为“正在使用”。这里有一个拆卸步骤:
- 关闭所有打开的文件和终端会话正在使用的驱动器(本-工作目录中的终端可能会导致卸载问题)
- 停止Apache:须藤的/ opt /本地/ Apache2的/ bin中/停止的apachectl
- 卸除/用户/用户名/ ExtraVhosts
然后就可以卸载它以图形或手动(卸除/卷/樱桃炸弹)。
如果您的工作和家用机安装驱动到不同的位置,你可以有多个虚拟主机文件夹 - home_vhost,work_vhost,等等 - 和使用,在结合步骤。
我希望这可以帮助别人了:)
如果指向的Apache的安装点只有在那里不应该是一个问题。不要将Directory指令指向驱动器中的目录。
例如,如果你挂载了/ dev/somedisk/mnt/somevhost,那么无论你是否挂载了驱动器,并且apache将启动, /mnt/somevhost目录都会在那里。 Apache不关心,如果该目录是空的,所以一个<Directory "/mnt/somevhost"/>
不会导致如果驱动器未安装服务器无法启动。
工作与 UNIX不反对:-p此解决方案应该足以用于开发。
- 1. 我有办法检查Ant中是否存在目录(不是文件)?
- 2. 有没有办法检查空目录?
- 3. 可可 - 有没有办法检查NSURLConnection是否存在缓存?
- 4. 有没有办法检查文件是否在使用
- 5. 有没有办法检查(文件)句柄是否有效?
- 6. 有没有办法检查用户是否使用JQuery登录?
- 7. 有没有办法检查用户目前是否空闲?
- 8. 有没有办法检查代码是否在TransactionScope中执行?
- 9. 有没有办法检查反应组件是否被卸载?
- 10. React Native:有没有办法检查文件是否存在于android_asset文件夹中?
- 11. 有没有办法检查参数是否在存储过程中?
- 12. 有没有办法检测apk是否存储在SD卡上?
- 13. 有没有办法检测自定义模块是否存在?
- 14. 有没有办法检查我的代理是否在线?
- 15. 有没有办法检查子进程是否仍在运行?
- 16. 有没有一种合适的方法来检查Java中的文件/目录是否存在?
- 17. 有没有办法在Perl中加载配置文件?
- 18. 有没有办法通过配置文件配置Serilog子记录器?
- 19. 检查URL没有文件或目录
- 20. 有没有办法来检查bean是否在spring上下文中定义?
- 21. 有没有办法在PHP中检查一个目录是否是符号链接?
- 22. 检查文档目录中是否存在文件
- 23. 有没有办法检查ansicon.exe是否存在,而不使用CMake运行它?
- 24. 有没有办法检查Realm数据库是否存在? (React Native)
- 25. 有没有办法以编程方式检查是否打开Excel文件
- 26. 有没有办法检查Hadoop文件是否已经打开写入?
- 27. 有没有办法检查文件是否使用PHP完全上传?
- 28. 有没有办法在Protractor的配置中定义本地配置文件?
- 29. 检查lua中是否存在目录?
- 30. 有没有办法检查RDP连接是否可能?