尝试让.htaccess重定向到https,但与现有重定向冲突

mwg9r5ms  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(163)

我刚刚在一个网站上激活了一个SSL证书,然后去添加通常的.htaccess重定向信息。
然而,有一个现有的.htaccess文件,其中已经有一整套重定向(我将在底部附加)。
当我尝试添加https重定向时,它一直在尝试重定向,最终放弃了...有没有一种方法可以保持添加https重定向?
以下是现有的.htaccess文件内容:

#php_value auto_prepend_file    /kunden/homepages/8/d130052251/htdocs/kralinator/hosted/bellemellor/admin/psycho.php
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options -Indexes
RewriteEngine On
RewriteBase /

#Rewrites...
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .* - [L]

RewriteCond %{QUERY_STRING} ^[^=]*$
RewriteCond %{QUERY_STRING} %2d|\- [NC]
RewriteRule .? - [F,L]

#JS/CSS combinator
RewriteRule ^admin/css/(.*\.css) admin/combine.php?type=css&files=$1
RewriteRule ^admin/js/(.*\.js) admin/combine.php?type=javascript&files=$1
#RewriteRule ^css/(.*\.css) combine.php?type=css&files=$1
#RewriteRule ^js/(.*\.js) combine.php?type=javascript&files=$1

#Pages
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?level1=$1 [N,QSA]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?level1=$1&level2=$2 [N,QSA]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?    level1=$1&level2=$2&level3=$3 [N,QSA]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?level1=$1&level2=$2&level3=$3&level4=$4 [N,QSA]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?level1=$1&level2=$2&level3=$3&level4=$4&level5=$5 [L,QSA]

我在文件中的不同位置添加了https重定向,但无济于事。我是一个前端开发人员,以前没有遇到过这种情况,因为我通常只有基本的https重定向在.htaccess文件中,如下所示:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.co.uk/index.php$1 [R,L]

先谢谢你了。

oogrdqng

oogrdqng1#

你可以试试这样的。它会将端口80上的任何URL重定向到https版本。然后你的其他htaccess重写应该仍然工作太多。
这需要放在**RewriteBase /**下方的顶部

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
f3temu5u

f3temu5u2#

解决了。有一个正在加载的配置文件被设置为https false,jut来回发送所有内容...改变了一切,一切都很好。

相关问题