簡體   English   中英

htaccess 刪除 www 重定向到 ssl 但錯誤 url

[英]htaccess remove www redirect to ssl but wrong url

我用 php 創建了一個 mvc 框架。 我唯一工作的主文件是 index.php。

通常我從 http 重定向到 https。 我也刪除了 www 域,但是當我輸入 www 時,如果我的 URL 是例如

domain.com/admin/products/edit/1, 

htaccess 這樣做。

domain.com/index.php/products/edit/1

我該如何解決這個謝謝

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^ index.php [L]

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

你應該有這樣的規則,總是把 https 重定向規則放在第一位。 請在測試您的 URL 之前清除您的瀏覽器緩存(其余規則來自 OP 的嘗試規則 + 我在這里也更改了匹配主機名的正則表達式)。

RewriteEngine ON

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{HTTP_HOST} ^(?:www\.)(example\.com) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^ index.php [L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM