Назад | Перейти на главную страницу

Как использовать htaccess для перезаписи файлов в новый базовый каталог

Итак, у меня есть поддомен sub1.example.com, который сопоставлен с каталогом, расположенным в корне сервера: / subdomains / sub1 / httpdocs /

У меня есть еще один поддомен, sub2.example.com, который сопоставлен с другим каталогом: / subdomains / sub2 / httpdocs /

Это в хостинговой компании, которая не позволяет мне изменять файлы конфигурации Apache.

Я хочу использовать файл .htaccess, чтобы разрешить обработку запросов sub2 файлами, расположенными в каталоге sub1. Почти как символическая ссылка. Мне нужно сохранить имя хоста. Так http://sub2.example.com/test.php получит доступ к тому же файлу, что и http://sub1.example.com/test.php, но имена хостов будут сохранены.

Я пробовал следующее в /subdomains/sub2/httpdocs/.htaccess:

RewriteEngine On
RewriteRule ^(.*)$ /subdomains/sub1/httpdocs/$1

но я получаю внутреннюю ошибку сервера.

Какие-либо предложения?

В ^(.*)$ шаблон фиксирует полный компонент пути URL-адреса, который всегда начинается с /, поэтому вам, вероятно, следует удалить последний / из вашего RewriteRule. Вот так и должно быть:

RewriteEngine On
RewriteRule ^(.*)$ /subdomains/sub1/httpdocs$1

Или сделайте так, чтобы шаблон соответствовал всему, кроме первого /:

RewriteEngine On
RewriteRule ^/(.*)$ /subdomains/sub1/httpdocs/$1