有沒有辦法根據目錄是否存在,在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連接是否可能?