Intereting Posts
Функция Smarty Object с ассоциативным массивом Неожиданный «=>», ожидаемый один из: «», «», «)», Почему функции и методы в PHP нечувствительны к регистру? PHPUnit, посмеянные интерфейсы и instanceof utf8_encode не дает правильного результата CodeIgniter: SSL / TLS SMTP Auth Электронная почта от PHPMailer Code Можно ли использовать для цикла внутри коммутатора? Как выполнить расширенную фильтрацию сообщений Monolog в Symfony? Взрывание массива в параметре цикла foreach выберите из mysql db 300 таблиц, используя префикс по умолчанию Функция MongoDB GROUP (или Map Reduce, если необходимо) с помощью PHP-отличительных клавиш Как принудительно загружать файл с помощью PHP в мобильных браузерах? Регулярное выражение PHP для соответствия буквенно-числовым строкам с некоторыми (но не все) пунктуациями Являются ли названные объекты в HTML все еще необходимыми в эпоху браузеров, поддерживающих Unicode? Какую архитектуру я должен использовать для написания моего первого динамического веб-сайта в PHP? выбрать все комментарии со всеми сообщениями php mysql

Использование .htaccess для установки подкаталога в качестве корневого каталога

Есть ли способ использовать htaccess, чтобы указать подкаталогу в качестве корня для всего сайта?

Например, если у меня был сайт под http: // localhost / testsite /, и в его файле index.php у меня была ссылка на таблицу стилей, используя следующий код.

<link rel="stylesheet" type="text/css" href="/css/layout.css" /> 

Могу ли я затем загрузить этот файл /localhost/testsite/css/layout.css?

Чтобы обойти эту проблему, я установил субдомены localhost для каждого сайта, который, хотя работает, не идеален.

Большое спасибо.

    Related of "Использование .htaccess для установки подкаталога в качестве корневого каталога"

    Если вы хотите сохранить часть 'href = "/ css / layout.css", то да, вы можете настроить правило перезаписи. Вам просто нужно быть осторожным, чтобы не перенаправлять ничего, начиная с / testsite (или вы закончите цикл).

    Например (в корневом каталоге .htaccess):

     RewriteEngine On RewriteCond %{REQUEST_URI} !^/testsite/.*$ RewriteRule ^(.*)$ /testsite/$1 [QSA,L] 

    Там вы сможете получить доступ к вашему файлу layout.css либо из:

    Http: //localhost/testsite/css/layout.css

    или

    Http: //localhost/css/layout.css

    Конечно, все относительные URI (как ваши) относятся к базовому URI, который по умолчанию является URI документа:

     http://localhost/testsite/index.php 

    Вам нужно только указать, какую часть добавить:

     <link rel="stylesheet" type="text/css" href="./css/layout.css" /> ^ ` see this dot 

    Пример:

     Base URI :: http://localhost/testsite/index.php Relative URI :: ./css/layout.css Result :: http://localhost/testsite/css/layout.css 

    Если вам нужно, чтобы это было более модульным, есть несколько способов сделать это. Один из них – установить базовый URI явно внутри документа HTML (см. <base> ).

    Другим является разрешение ссылок относительно серверной стороны на основе URI запроса и корневого пути вашего сайта. См. Этот ответ для примера.