правило htaccess для отображения моего веб-сайта по определенному пути при доступе к URL корневого домена

#.htaccess #mod-rewrite

#.htaccess #мод-перезапись

Вопрос:

У меня есть мой веб-сайт по следующему пути на моем удаленном сервере веб-хостинга:

~/public_html/website/app

и нужно найти способ отображать его при вводе:

mydomain.com

таким образом, нет необходимости вводить полный путь:

mydomain.com/website/app/

Одним из решений, которое пришло мне в голову, было создать index.php файл внутри моей корневой папки для автоматического перенаправления на ./website/app/ :

 <?php

header('Location: ./website/app/');
exit;
  

но тогда мне нужно переписать URL, чтобы перейти с:

mydomain.com/website/app/

Для:

mydomain.com

и я не нашел способа сделать это!

Итак, что, по-вашему, я должен сделать, чтобы получить этот результат и показывать мой веб-сайт под /website/app/ при доступе:

mydomain.com

и не показывать /website/app/ имена папок?

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

Редактировать:

Я забыл, что у меня также есть website/server путь, поэтому мне нужно правило, которое сохраняет действительными запросы, содержащие mydomain.com/website/server/ .

Кроме того, я не могу использовать:

Options FollowSymLinks

на моем хостинге (по соображениям безопасности) это переопределяется:

Options SymLinksIfOwnerMatch

Ответ №1:

У вас есть два варианта для этого.

Если вы просто хотите показать /website/app каталог для вашего корневого URL-адреса, / тогда вы можете использовать DirectoryIndex директиву .

 DirectoryIndex website/app 
  

Это покажет вам индексный файл из /website/app папки, если вы зайдете в свой корневой URI ie : example.com/ .

Если вы хотите отправлять файлы и каталоги сервера из /website/app вместо / папки, вы можете использовать RewriteRule , который перезаписывает ваши запросы корневого уровня во вложенные папки.

 RewriteEngine on
RewriteRule !website/app /website/app℅{REQUEST_URI} [L]