У меня есть один сайт www.mysite.com, где я получил прикладную программу, и теперь мы собираемся разместить здесь и наш веб-сайт.
Проблема в том, что приложение неприкосновенно, и мы хотим, чтобы его не допустила команда веб-сайта.
Это образ того, что я хотел бы сделать:
Данные сервера,
Применение:
C: \ myapplication \ app.php
C: \ myapplication \ appfolder \ index.html
Интернет:
C: \ myweb \ index.html
C: \ myweb \ webfolder \ index.html
Доступ из Интернета,
Применение:
www.mysite.com \ app.php
www.mysite.com \ appfolder \ index.html
Интернет:
www.mysite.com \ index.html
www.mysite.com \ webfolder \ index.html
Я знаю, что есть виртуальные папки, но я не хочу добавлять папки одну за другой ...
В корне веб-сайта есть файлы для приложения, как и для веб-сайта.
Я бы создал 2 разных FTP-аккаунта, одну для C: \ myapplication и один для C: \ myweb
Можно ли это сделать?
Я использую Windows 2008 R2 с IIS и PHP
Спасибо.
Вот идея (хотя и не проверенная):
1) Создайте виртуальную папку для своего php-приложения (я знаю, вы сказали, что не хотите этого)
2) Использование модуля URL-Rewrite для перезаписи URL-адресов (например, /app.php -> /virtual/app.php
).
Ваши посетители должны видеть обычный URL, тогда как за ним он будет расположен по-другому.
Вы можете заменить виртуальную папку символической ссылкой или соединением каталогов, если хотите, но у нее есть некоторые недостатки, так как такая папка с символической ссылкой будет физической частью веб-сайта (по крайней мере, на сервере) и может быть перезаписана по ошибке (если вы не настроите надлежащие права доступа) .
Возможная проблема с этим подходом заключается в том, что вы должны полагаться на то, насколько хорошо написано ваше приложение php - оно может неправильно вычислять пути для include / require и других операций, связанных с файлами (в одном месте они могут использовать РЕАЛЬНОЕ расположение файла (например, C : \ myapplication \ app.php), в другом месте они могут ссылаться на путь, видимый веб-сайтом (SERVER_ROOT), например C: \ myweb \ virtual \ app.php) - вам действительно нужно проверить это.