laravel - 用于 SSL 和公用文件夹重定向的 .htaccess 规则
问题描述
我想编辑我的 .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
)位于此文件夹中。
解决方案
尝试这个
.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>
推荐阅读
- javascript - 如何使用angular2从浏览器中获取设备名称
- visual-studio - 在 Visual Studio 2017 中重新启用 Visual SVN
- elasticsearch - 用于提升特定数据的 Elasticsearch 查询
- algorithm - 2D 强盗算法
- php - 比较数组中的相似值并与其他值生成新数组
- javascript - 如何将 JSON 数据传递到 extJS 存储模型。
- scala - jupyter笔记本中的spark vs pandas数据框(带有大列)head(n)
- jquery - iframe 不读取文本
- python - 使用 pycharm 调试 console_script
- python-3.x - python selenium 脚本错误:web 元素没有 len