Задать вопрос
mirniycruxix
@mirniycruxix

Как выйти из папки поддомена?

Всем привет. Есть такой код в Apache чтобы создавать поддомены:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.site.ru$
RewriteCond %{HTTP_HOST} ^((.*).)site.ru$
RewriteRule ^/(.*) /%2/$1

Теперь, я хочу сделать <script src="/scripts/script.js"></script>, но так как папка scripts находится за пределами папки поддомена (sub.site.ru) то пишет ошибку 404. Примерно такая структура папок:
html/
   sub/
       - index.html
   scripts/
       - scripts.js

Вопрос: Как мне вызвать script.js (через <script>) находясь на поддомене? (папка sub)
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
mrusklon
@mrusklon
Не получается? Яростно гугли!
ну 2 варианта решение проблемы
1) положить папку со скриптами в sub
2) указать к ней путь полностью
Ответ написан
Rst0
@Rst0
Можно еще так
в .htaccess все скрипты (или как угодно пропишите) обрабатываются в script.php
RewriteRule ^([A-z0-9-_/]+)\.js$ script.php?=$1.js [L,QSA]

а в корень поддомена(ов) кладете такой файл script.php
<?php
if( 
   preg_match('#^script.php#', $_SERVER['REQUEST_URI']) == 1  // если вызвать напрямую этот файл
 || 
   !is_file('..'.$_SERVER['REQUEST_URI'])     // если пути в родительской папке не существует

  ) header('HTTP/1.1 404 Not Found'); 

include('..'.$_SERVER['REQUEST_URI']);   

?>

тогда по запросу с поддомена(ов)
<script src="/scripts/script.js"></script>
будет выдавать файл из родительской папки с таким же путем, при условии, что есть путь и файл
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы