#.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]