Пишу сайт и тестирую его на опенсервере. С путями проблем нет. Всё работает как надо.
Перенес на реальный сервер - возникла проблема с путями.
А именно по непонятным причинам скрипт обращается на уровень ниже. Разумеется там нет искомого файла.
Часть кода скрипта. Этот скрипт должен передать данные из формы в скрипт actions.php.
Скрипт лежит в папке admin/modules/modul1/. Я записываю путь относительно корневого каталога сайта в массив и далее использую этот путь.
<?php
//Путь к корневой директории для данного файла
$path_to_root_dir['add_modul1_form']='../../../';
//Подключение к БД (файл найден - это работает)
include ($path_to_root_dir['add_modul1_form'].'mysql.php');
//Все данные о пользователе (файл найден - это работает)
include ($path_to_root_dir['add_modul1_form'].'common/all_about_user.php');
?>
<!--А вот тут проблема, не находит файл actions.php по указанному пути-->
<div class="add_modul1_window">
<form method="post" action="<?php echo $path_to_root_dir['add_modul1_form']; ?>actions.php?add_person">
На опенсервере. Скрипт лежит в папке
D:\OpenServer\domains\mysite.ru\admin\modules\modul1
Скрипт actions.php в папке D:\OpenServer\domains\mysite.ru\
Соответственно путь ../../../actions.php?add_person - правильный. Там и лежит скрипт.
Всё работает.
На реальном сервере. Скрипт лежит в папке
/var/www/test/admin/modules/modul1
Скрипт actions.php в папке /var/www/test/
Путь (просмотр html кода, при выводе страницы) ../../../actions.php?add_person - вроде верно
Нажимаем сабмит и
10.47.100.22/actions.php?add_person
Not Found The requested URL /actions.php was not found on this server.
Но ведь путь то ../../../actions.php?add_person, а не ../../../../actions.php?add_person.
Почему на реальном сервере был совершен переход не на 3 уровня вверх - как написано в коде, а на 4?
Почему не корректно работает путь к файлу?