В конце концов я отказался от этого метода из-за гораздо более простого способа создания и удаления virtualHosts на apache, используя отдельные файлы .conf для каждого хоста.Таким образом, я могу просто создать или удалить файл вместо поиска многострочной строки в файле.
Я хотел загрузить отдельный файл .conf для каждого виртуального хоста в apache на моем Mac (apache и т. Д. Устанавливаются сhomebrew).
Это было легко настроить в моем httpd.conf.Вместо того, чтобы искать файл, просто ищите все файлы в каталоге с etc/httpd/vhosts/*.conf
:
# Virtual hosts
# Include /usr/local/etc/httpd/extra/httpd-vhosts.conf # Original rule
Include /usr/local/etc/httpd/vhosts/*.conf # New rule
Это ищет и включает все файлы .conf в этой папке.Мои имена файлов такие: local.website.com.conf
, содержащие что-то вроде этого:
<VirtualHost *:80>
ServerName local.website.com
DocumentRoot "/Users/john/Sites/local.website.com/www"
<Directory "/Users/john/Sites/local.website.com/www">
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
</VirtualHost>
При таком подходе вы можете просто удалить файл .conf, перезапустить apache и все готово!