У меня есть сайт thenoblesite.com
. Он имеет некоторые поддомены, т.е.
download.thenoblesite.com
wallpaper.thenoblesite.com
и т.п.
Страницы для субдоменов присутствуют в основной папке htdocs, т.е.
httpdocs / download <- download.thenoblesite.com
httpdocs / wallpaper <- wallpaper.thenoblesite.com
Проблема в том, что я использую $_SERVER['DOCUMENT_ROOT'] . '/css';
$_SERVER['DOCUMENT_ROOT'] . '/css';
для папки css и других общих папок (графика, включая скрипт и т. д.). Однако на странице поддомена download.thenoblesite.com
, $_SERVER['DOCUMENT_ROOT']
будет ссылаться на корневую папку download.thenoblesite.com
, а не на основную корневую папку thenoblesite.com
где присутствуют css, графика и папки.
Я должен разместить одну и ту же графику, css и включать папки по отдельности на всех поддоменах. Каждый раз, когда я обновляю веб-сайт, мне приходится копировать общие папки во все папки поддоменов.
Другая связанная с этим проблема заключается в том, что я должен использовать абсолютную привязку для папки большого размера для загрузки, например, для медиаплеера VLC. Мне нужно использовать thenoblesite.com/download/vlc.exe
или мне также нужно дублировать папку для загрузки большого размера во всех папках поддоменов , Этот метод неоправданно увеличивает размер веб-сайта, создает путаницу при обновлении сайта и не выглядит хорошей практикой программирования. Есть ли какое-либо возможное решение PHP, чтобы я мог использовать одни и те же css, изображения, загрузки и папку для всех поддоменов ….
Я не уверен, что это может вас заинтересовать, но вы всегда можете создать новый поддомен и назвать его чем-то вроде стиля. [Domain] и создать новую переменную в вашем файле конфигурации и указать на это. таким образом, у вас есть все изображения и css-файлы и т. д., хранящиеся в одном месте, и если ваши трафик скапливается, вы всегда можете перенести этот поддомен на CDN и т. д., так что он действительно настраивается.
ОБНОВИТЬ
ok, поэтому вы можете просто использовать новую переменную в своем конфигурационном файле, как показано ниже:
$_config['http'] = 'http://www.yousite.com/';
теперь вы можете просто использовать эту переменную, чтобы указывать на все ваши загрузки и т. д. на основном сайте, а не на каждую папку в поддомене. и если вы хотите быть более гибкими, вы также можете добавить еще несколько css или js-папок, например:
$_config['http'] = 'http://www.yousite.com/'; $_config['css'] = $_config['http']."css"; $_config['js'] = $_config['http']."js";
решение выше также поможет вам, если вы решили перемещать файлы или просто перемещать определенную папку вокруг и т. д., это хорошая практика, если вы можете ее принять.
Возможно, вы сможете использовать псевдоним в htaccess (или в конфигурации сервера):
Alias /images /home/username/public_html/images
Если это невозможно, вы можете переписать все запросы на / изображения через htaccess:
# Untested - should get you on the right track though RewriteEngine On RewriteRule ^/images/(.*)$ http://yourdomain.com/images/$1 [R=301,L]