我已经在Laravel上创建了网站,因此该网站在www.domain.com/public/下处于打开状态。因此,我在这里搜索了我的答案,发现这对我来说很有效,在我添加了此代码后,该页面在www.domain.com上打开,而没有将公共地址添加到url:
htaccess:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
但是现在我安装了SSL,我想强迫它在https链接上打开一个页面,但是我不知道为什么它不会。我将.evn文件中的APP URL设置为https链接,并将此代码添加到htacces文件中:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ https://domain/$1 [L]
</IfModule>
当我尝试删除公共并将代码设置为:
时,它现在每次都在https中打开网页,但在url中添加其他公共内容。Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ https://domain/$1 [L]
</IfModule>
它根本不会打开我的网站。请,如果有人知道解决方法,我将非常感谢,最良好的祝愿!
答案 0 :(得分:2)
这个怎么样?
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
答案 1 :(得分:1)
RewriteEngine开启 RewriteCond%{HTTPS}已关闭 RewriteRule ^(。*)$ https://% {HTTP_HOST}%{REQUEST_URI} [L,R = 301]
RewriteCond%{REQUEST_URI}!^ public RewriteRule ^(。*)$ public / $ 1 [L]
答案 2 :(得分:-1)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]