我正在使用apache
和laravel
,并希望将我的所有请求重定向到https
。
例如:
我想要这个网址
abc.com/my/test
重定向到
目前我在文件
中有以下代码/var/www/html/laravelProjet/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]
# For redirecting HTTP to HTTPS
# comment & un-comment below lines according to certificates
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
问题: adobe htaccess
设置会重定向,但路径错误。它重定向到
&#34; https://abc.123/index.php&#34;
我想将它重定向到上面提到的链接。
答案 0 :(得分:0)
[L]标志使mod_rewrite停止处理规则集。在 大多数情况下,这意味着如果规则匹配,则没有进一步的规则 将被处理。
https://httpd.apache.org/docs/current/rewrite/flags.html
您可以尝试删除该行上的[L]
标记:
RewriteRule ^ index.php [L]
您还可以使用PHP重定向到HTTPS:
if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") {
$url = "https://".$_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
header("Location: $url");
exit;
}