有沒有辦法根據目錄是否存在,在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. 有沒有辦法檢查Generic類是否存在字段?
- 7. 有沒有辦法檢查連接標識是否存在?
- 8. 有沒有辦法檢查用戶是否使用JQuery登錄?
- 9. 有沒有辦法檢查用戶目前是否空閒?
- 10. 有沒有辦法檢查pentaho文件夾的存在?
- 11. 有沒有辦法在.NET中檢查Bitmap是否爲空?
- 12. 有沒有辦法檢查代碼是否在TransactionScope中執行?
- 13. 有沒有辦法檢測Outlook郵件是否沒有附件?
- 14. 有沒有辦法檢查之前triyng小部件是否存在註冊?
- 15. 有沒有辦法檢查反應組件是否被卸載?
- 16. React Native:有沒有辦法檢查文件是否存在於android_asset文件夾中?
- 17. 有沒有辦法檢查參數是否在存儲過程中?
- 18. 有沒有辦法檢查一個類中是否存在函數?
- 19. 有沒有辦法檢查導航堆棧中是否存在頁面
- 20. 有沒有辦法檢測自定義模塊是否存在?
- 21. 有沒有辦法檢測apk是否存儲在SD卡上?
- 22. 有沒有辦法在PhpStorm中搜索文件夾(目錄)?
- 23. 有沒有辦法檢查一個文件是否是SQLite3數據庫?
- 24. 有沒有辦法在WebStorm中設置項目級配置?
- 25. 有沒有辦法檢查子進程是否仍在運行?
- 26. 有沒有辦法檢查回發是否正在進行?
- 27. 有沒有辦法檢查我的代理是否在線?
- 28. 有沒有一種合適的方法來檢查Java中的文件/目錄是否存在?
- 29. 有沒有辦法在Perl中加載配置文件?
- 30. 有沒有辦法通過配置文件配置Serilog子記錄器?