Я заметил, что при использовании mod_rewrite, PHP возвращает server_port 80, даже если apache находится на порту 8080.
т.е. у меня есть этот URL: http://myvirtualhost.8080/index.php и этот фрагмент PHP:
<?php echo $_SERVER['SERVER_PORT']; ?>
В .htaccess у меня есть это простое правило
RewriteEngine on
RewriteRule ^/?$ index.php [NC,L]
При включенном mod_rewrite, вывод равен "80" (неверно)
При выключенном mod_rewrite, вывод равен "8080" (правильно)
Это нормально?Есть простые решения для этого?Дело в том, что мне нужно проверить РЕАЛЬНЫЙ порт сервера для использования в условном сценарии PHP, что-то вроде:
<?php
if ($_SERVER['SERVER_PORT'] == 80) {
do something
} else {
do something else
}
?>
, и, конечно, это на самом деле невозможно, так как с mod_rewrite на SERVER_PORT всегда 80.Я предпочитаю не связываться с файлом .htaccess, поэтому было бы неплохо использовать скрипт PHP ...
Заранее спасибо!