извините за мой плохой английский sh, я итальянец. Я создаю виртуальный хост 301 в apache2 с макросом для перенаправления старых сайтов fqdn на новые. например, все страницы www.old.com переходит на www.new.com, поэтому www.old.com/en/news/mynews.php переходит на www.new.com/en/news/mynews.php
, это мой vhost, который работает perfectlly
<Macro vhost301 $fqdn $alias $toUrl>
<VirtualHost 85.159.210.48:80>
ServerAdmin info@3bit.it
ServerName $fqdn
ServerAlias $alias
RewriteEngine On
RewriteCond %{HTTP_HOST} ^$alias$ [NC]
RewriteCond %{HTTP_HOST} !^$fqdn$ [NC]
RewriteRule ^\/?(.*)$ http://$fqdn/$1 [R=301,L]
Redirect permanent / http://$toUrl/
</VirtualHost>
</Macro>
НО я хочу сделать гораздо больше
я бы хотел ДО редирект сделан, мой сервер делает CURL для нового fqdn url и, если его заголовок ответа равен 200 OK (с помощью CURL REQUEST ), то перенаправления могут быть выполнены с www.old.com/en/news/mynews.php до www.new.com/en/news/mynews.php (причина www.new.com/en/news/mynews.php существует и дает 200 OK)
OTHERWISE
, если www.new.com/en/news/mynews.php не существует и возвращает не 200 OK, тогда
www.old.com/en/news/mynews.php must go to root www.new.com
Проблема в том, что я не могу использовать bash скрипт внутри conf-файла virtualhosts, поэтому я не знаю, как это сделать. Любая помощь?
Спасибо в совет.
Шарон