У меня проблема с тем, что подкаталог действует как public_html для моего основного домена, и я получаю решение, которое работает и с подкаталогами этих доменов.
Фон
Мой хостинг позволяет мне размещать несколько сайтов, которые прекрасно работают. Я установил подпапку в моем каталоге ~ / public_html / с именем / domains / , где я создаю папку для каждого отдельного веб-сайта. Структура папок на моем сервере выглядит примерно так:
- public_html
- домены
- websiteone
- websitetwo
- websitethree
- ...
Это делает мои сайты красивыми и аккуратными. Единственная проблема заключалась в том, чтобы заставить мой «основной домен» вписаться в эту систему. Кажется, мой основной домен каким-то образом привязан к моей учетной записи (или к Apache, или к чему-то еще), поэтому я не могу изменить «корень документа» этого домена. Я могу определить корни документа для любых других доменов («Addon Domains»), которые я добавляю в cPanel без проблем. Но основной домен другой.
проблема
Мне сказали отредактировать файл .htaccess, чтобы перенаправить основной домен в подкаталог. Казалось, что это прекрасно работает, и мой сайт отлично работает на домашней странице / странице индекса.
Проблема, с которой я сталкиваюсь, заключается в том, что, если я пытаюсь перемещаться по своему браузеру, чтобы сказать папку с изображениями (только для примера) моего основного сайта, например:
www.yourmaindomain.com / изображения /
тогда он, кажется, игнорирует перенаправление и показывает весь каталог сервера в URL, например:
www.yourmaindomain.com / домены / yourmaindomain / изображения /
На самом деле он по-прежнему показывает правильную страницу «Index of / images» и показывает список всех моих изображений. Проблема в «симпатичном» URL.
Пример моего .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domains/yourmaindomain/$1
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L]
Правильно ли выглядит этот файл htaccess? Мне просто нужно сделать так, чтобы мой основной домен вел себя как домен аддона, а его подкаталоги придерживались правил перенаправления.