Htaccess 从 URL 中删除索引.php?



当我有一个配置了SSL的网站时,当使用 HTTPS://访问该网站时,一切正常,但是当我使用HTTP执行此操作时,我在 https://domaine.com/index.php?/URL的末尾得到"index.php?

这是我的HTACESS:

RewriteEngine on
RewriteCond $1 !^(index.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

任何帮助将不胜感激。

你的规则是这样的:

RewriteEngine on
RewriteCond %{THE_REQUEST} /index.php [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index.php$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%1 [L,R=301,NE]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond $1 !^(index.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

在测试之前,请确保在新浏览器中对其进行测试或完全清除浏览器缓存。

以下内容强制使用 https 重写任何 http 请求。例如,以下代码强制请求 http://example.com 加载 https://example.com。它还强制直接链接的资源(图像,css等(使用https。

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

如果这对您不起作用,请先检查您的行尾。从Web浏览器复制/粘贴到文本编辑器中可能无法正常工作,因此粘贴到文本编辑器后,您应该删除每个换行符并将其重新添加(换行符=返回键(。

相关内容

  • 没有找到相关文章

最新更新