Как установить корень документа как подкаталог с использованием .htaccess, а не VHost

На моей локальной машине работают следующие работы:

<VirtualHost *:80> ##ServerAdmin postmaster@dummy-host2.localhost DocumentRoot "C:/xampp/htdocs/website_1" ServerName testpage.com/website_1 ##ServerAlias www.recruitement.localhost ##ErrorLog "logs/dummy-host2.localhost-error.log" ##CustomLog "logs/dummy-host2.localhost-access.log" combined </VirtualHost> 

Howerver Im, принимающий мой сайт на хостинговой компании под названием justhost.com, и они не позволяют мне изменять httpd-vhosts.conf или httpd.conf . Теперь весь мой сайт закодирован таким образом, что файлы под сайтом _1 ссылаются на другие файлы под сайтом_1, используя простой слэш «/», то есть веб-сайт_1, рассматривается как корень документа. Это отлично работает на локальном компьютере, но при загрузке на сервер он дает мне ошибки сервера, потому что не могу найти файлы с тех пор, как пытается найти эти файлы в public_html

Например:

  public_html - website_1 - script.php - style.css 

внутри моего script.php :

 <a href="/style.css">See My Style</a> 

это хорошо работает на локальном компьютере, но на хосте он терпит неудачу, так как он пытается найти style.css под public_html, а не public_html / website_1

Есть ли способ иметь несколько корней документов без использования VHosts? Как использовать .htaccess или что-то еще. Пожалуйста, я хочу попытаться избежать переписывания кода как можно больше, так как его около 10 тысяч строк кода.

    Включите mod_rewrite и .htaccess через httpd.conf а затем поместите этот код в свой .htaccess в каталоге DOCUMENT_ROOT :

     Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -f [OR] RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -d [OR] RewriteCond %{DOCUMENT_ROOT}/website_1/$1 -l RewriteRule (?!^website_1/)^(.*)$ /website_1/$1 [R=302,L,NC] 

    После проверки, что он работает нормально, замените R=302 на R=301 . Избегайте использования R=301 (Перманентный переадресация) при проверке правил mod_rewrite.

    Решением всех запросов к изображениям на root может быть решение. Вы можете попробовать это в одном файле .htaccess в корневом каталоге:

     Options +FollowSymlinks -MultiViews RewriteEngine On RewriteBase / # Check if request is for an image at root. Add/remove file types if necessary. RewriteCond %{REQUEST_URI} ^/([^.]+)\.(png|jpg|gif|css) [NC] RewriteCond %{REQUEST_URI} !/website_1 [NC] # Rewrite request to point to "website_1" directory RewriteRule .* /website_1/%1.%2 [L,NC] 

    Сделайте запись в .htaccess. Предположим, у вас есть сайт abc.com. Вы хотите запустить другой сайт в каталоге. Затем создайте .htaccess в родительском каталоге, указанном на abc.com.

     RewriteEngine on RewriteCond %{HTTP_HOST} ^abc.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www.abc.com$ RewriteCond %{REQUEST_URI} !subdirectory/ RewriteRule (.*) /subdirectory/$1 [L]