我需要在不编辑客户端URL的情况下将根文件夹public_html(www.example.com
)解析为另一个文件夹(www.example.com/laravel/public/
)。
我尝试过:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^.*$ https://www.mysite.lol/laravel/public/ [R=301,L]
此.htaccess
文件将编辑客户端URL,如下所示:
https://www.example.com/laravel/public/
有什么想法吗?
编辑:
感谢您的回答塞纳·怀特:
现在响应为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
我可以解决内部重定向,换句话说,是怀特先生哈哈
RewriteRule .* laravel/public/ [L]
但是我丢失了所有资产,该站点尝试在根文件夹中找到文件,例如:
https://website.lol/landing/img/logos-web/Samsung.png
(/着陆,是/ laravel文件夹中的资产文件夹)
答案 0 :(得分:0)
听起来像您需要一个内部重写,而不是您当前拥有的外部重定向(尽管它也是错误的,因为它将所有内容都重定向到您的房屋)页)。
尝试使用以下类似方法代替当前的RewriteRule
指令:
RewriteRule !^laravel/public/ /laravel/public%{REQUEST_URI} [L]
并确保在测试之前清除浏览器缓存。