|
автор: Максим М (13.12.2005 в 14:52) |
|
| Подскажите, как сделать, чтобы работала конструкция:
include("/home/site/index.php");
при этом физическое расположение файлов : "c:/www/home/site/index.php"
пробовал через mod_alias - не получилось
Alias /home/ "c:/www/home/"
<Directory "C:/www/home">
Options Indexes FollowSymLinks MultiViews execCGI includes
AllowOverride all
Order allow,deny
Allow from all
</Directory> | |
|
|
|
|
|
|
|
для: Максим М
(13.12.2005 в 14:52)
| | Вы хотите чтобы код работал под UNIX и под Windows? А почему бы не использовать относительные пути? | |
|
|
|
|
автор: Максим М (14.12.2005 в 00:28) |
|
|
для: cheops
(13.12.2005 в 21:00)
| | поясню:
на сервере хостинг провайдера файлы сайта доступны как раз по этому пути "/home/site/..." , в коде сайта много конструкций с этими путями, а я хочу на своём локальном WEB сервере работать с кодами не меняя этих путей, но чтобы по запросу "/home/site/..." вызывались файлы из "c://www/home/site/..."
Что Вы имеете ввиду под относительными путями?
Если я правильно понял, то относительные пути не подойдут, т.к. с помощью "include" вызываются разными скриптами, лежащими в разных каталогах одни и те-же файлы, которые в свою очередь вызывают другие. | |
|
|
|
|
|
|
|
для: Максим М
(14.12.2005 в 00:28)
| | Тогда необходимо анализировать первые три символа переменной $_SERVER["SCRIPT_FILENAME"] в которую помещается абсолютный путь к файлу. Если первый символ равен / - мы на сервере, если C:\ - на локальной машине. | |
|
|
|
|
автор: Максим М (14.12.2005 в 11:21) |
|
|
для: cheops
(14.12.2005 в 03:07)
| | Если я правильно понял, то мне нужно как раз наоборот: если мы на сервере - чтобы по строке "/home/..." скрипт брался из этого места, а если мы на локальном сервере под Windows - то по этому же пути файл брался из "c:/www/home/..." | |
|
|
|
|
|
|
|
для: Максим М
(13.12.2005 в 14:52)
| | Если не очень много шаблонных файлов типа 'index.php', то, по-моему, самое простое и действенное - это использовать в них тег <base />. Ссылки на все файлы тогда вообще не будут зависеть от физического пути сервера, они будут определяться только структурой сайта. А при переносе с локальной машины на хостинг, достаточно просто поменять запись
<base href="http://localhost/" /> на <base href="http://site.ru/" />. | |
|
|
|