Разрешить корневую папку в другой папке без редактирования URL-клиента - PullRequest
0 голосов
/ 30 августа 2018

Мне нужно разрешить мою корневую папку public_html (www.example.com) в другую папку (www.example.com/laravel/public/) без редактирования URL-адреса клиента.

Я пробовал это:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^.*$ https://www.mysite.lol/laravel/public/ [R=301,L]

Этот .htaccess файл редактирует URL клиента и выглядит следующим образом:

https://www.example.com/laravel/public/

Есть идеи?

EDIT:

Спасибо за ваш ответ, сеньор Уайт:

Теперь ответ 404, мой apache_error.log зарегистрировал это:

[Fri Aug 31 13:18:35.427305 2018] [rewrite:trace3] [pid 4544:tid 1992] mod_rewrite.c(482): [client 127.0.0.1:52310] 127.0.0.1 - - [spotlike.plain/sid#2534f80][rid#256e1c0/initial] [perdir C:/xampp/htdocs/repositorios/mysite/] applying pattern '^laravel/public/' to uri ''
[Fri Aug 31 13:18:35.427305 2018] [rewrite:trace2] [pid 4544:tid 1992] mod_rewrite.c(482): [client 127.0.0.1:52310] 127.0.0.1 - - [mysite.plain/sid#2534f80][rid#256e1c0/initial] [perdir C:/xampp/htdocs/repositorios/mysite/] rewrite '' -> '/laravel/public/repositorios/mysite/'

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

Внутри laravel / public существует файл .htaccess, который выглядит следующим образом:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

РЕДАКТИРОВАТЬ 3

Я могу решить внутреннюю переадресацию, в другом ответе MrWhite хаха

RewriteRule .* laravel/public/ [L]

Но я потерял все активы, сайт пытается найти файлы в корневой папке, пример:

https://website.lol/landing/img/logos-web/Samsung.png

(/ Landing, это папка активов внутри папки / Laravel)

1 Ответ

0 голосов
/ 30 августа 2018

Похоже, вам нужно внутреннее переписывание , в отличие от внешнего перенаправления , которое у вас есть в настоящее время (хотя и неверно, поскольку оно перенаправляет все на вашу домашнюю страницу) .

Попробуйте что-то вроде следующего вместо вашей текущей директивы RewriteRule:

RewriteRule !^laravel/public/ /laravel/public%{REQUEST_URI} [L]

И убедитесь, что вы очистили кеш браузера перед тестированием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...