With awk
:
$ awk '$0 = $0 " " $NF ($NF ~ /\.$/ ? "" : ".") "com"' <file
127.0.0.1 localhost localhost.com
1.2.3.4 hostname1 hostname1.xyz hostname1.xyz. hostname1.xyz.com
1.2.3.5 hostname2 hostname2.xyz hostname2.xyz. hostname2.xyz.com
1.2.3.6 hostname3 hostname3.xyz hostname3.xyz. hostname3.xyz.com
Создайте виртуальный хост для всех ваших портов:
<VirtualHost *:8808>
some directives here
</VirtualHost>
<VirtualHost *:8809>
some directives there
</VirtualHost>
<VirtualHost *:8810>
RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"
</VirtualHost>
Посмотрите здесь для получения дополнительной информации, это тоже может помочь.
Я думаю, что это будет работать с виртуальным хостом:
<VirtualHost *:8808>
RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"
</VirtualHost>
, очевидно, повторите то же самое для других портов.
Обратите внимание, что если у вас уже есть
или что-то еще в вашей конфигурации apache, вам нужно будет изменить это - в противном случае он будет действителен и для этого порта, и у вас будут перекрывающиеся виртуальные хосты (которые почти наверняка не будут делать то, что вы хотите).