我想编辑我的.htaccess文件,以便所有请求都将被加密(我的SSL证书处于活动状态)。我正在尝试运行Laravel应用,该应用在公共文件夹中具有索引文件,并且我想让用户访问我的页面时不使用URL中的/ public /部分。
到目前为止,我设法做到了:
这部分让我访问没有/ public /部分的页面。
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
这部分将所有数据重定向到HTTPS:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://domain.club/public_html/1 [R,L]
问题是,如何将这两部分合并在一起?它们是分开工作的,但是如果我将其放到.htaccess文件中,则不会。
.htaccess文件位于根文件夹中的public_html
中。 Laravel文件夹(包括public
)位于此文件夹中。
答案 0 :(得分:0)
尝试
.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>