Я очень запутался в моем файле htaccess.
Если я использую следующие директивы:
RewriteCond %{REQUEST_URI} distribute$
RewriteRule (.*) BalanceManager.php [L]
Тогда я ожидаю https://somehwhere.com/distribute
перенаправить на https://somehwhere.com/BalanceManager.php
с участием POST
данные на месте ... это именно то, что происходит, и это здорово.
Я также ожидаю https://184.22.345.77/distribute
перенаправить на https://184.22.345.77/BalanceManager.php
с участием POST
данные на месте. Он НЕ делает этого, он выдает ошибку 404 not found.
Мне это нужно для работы с IP-адресами и по протоколу SSL, но пока не удалось заставить что-либо работать.
Есть ли правильный способ сделать это? Есть ли альтернативные способы добиться этого?
Я могу обратиться к файлу напрямую, используя https://somehwhere.com/BalanceManager.php
и это работает, но когда я смотрю вверх https://184.22.345.77/BalanceManager.php
в моем браузере выдает ошибку 404.
Хост находится в архитектуре Amazon Web Services, и, что важно ... Я использую сайт Wordpress с балансировкой нагрузки.
Ура!
Мне это нужно для работы с IP-адресами и по протоколу SSL, но пока не удалось заставить что-либо работать.
Ваш IP-адрес, вероятно, указывает на ваш виртуальный хост по умолчанию, а не на виртуальный хост, который обслуживает somehwhere.com
. Вот почему ты не можешь добраться до https://184.22.345.77/BalanceManager.php
. Кроме того, ваш сертификат SSL не будет работать для IP-адреса, если вы сделали CA-Request для somehwhere.com
. Браузеры загрузят его и выдадут ошибку сертификата, потому что IP-адрес не somehwhere.com
.
Если вас не волнует ошибка сертификата, вы можете добавить эту строку в свой somehwhere.com
конфигурация vhost (между <VirtualHost> </VirtualHost>
блок):
ServerAlias 184.22.345.77