第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Codeigniter 4默認(rèn).htaccess文件查詢

Codeigniter 4默認(rèn).htaccess文件查詢

PHP
交互式愛情 2023-07-30 12:51:08
對于某些人來說,這可能聽起來是一個愚蠢的問題,但我只是在嘗試為我的網(wǎng)站實施 SSL 證書時才注意到它?!伴_箱即用”的 .htaccess 文件中有一個默認(rèn)值:    # Rewrite "www.example.com -> example.com"    RewriteCond %{HTTPS} !=on    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]我認(rèn)為這段代碼強制刪除www.我網(wǎng)站上的部分規(guī)范鏈接是否正確?如果是這樣 - 這真的是最佳實踐嗎?這就是isbase_url中的例子的原因嗎?Config/App.phphttp://example.com其次,正如我所提到的,我試圖將此代碼添加到 .htaccess 文件中以實現(xiàn) SSL 證書并強制https每個 URL - 但如果我使用它會導(dǎo)致錯誤www.(而之前它沒有導(dǎo)致錯誤)并且我的速度測試表明存在大量重定向,這導(dǎo)致一切速度減慢:RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]有誰能夠用base_url文件中正確的規(guī)范鏈接結(jié)構(gòu)為我指明正確的方向Config/App.php,我是否需要更改(或廢棄)第一個代碼片段,以及如何強制https使用我的 SSL 證書(以及www.在我的網(wǎng)址中)。我更希望我的 URL 具有以下結(jié)構(gòu),https://www.example.com而不是https://example.com
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

我是否正確地認(rèn)為這段代碼會強制刪除www.


是的,但僅適用于 HTTP(而非 HTTPS)請求,由第一個條件控制%{HTTPS} !=on。


如果您正在實施 HTTPS,那么您應(yīng)該刪除第一個條件并將RewriteRule 替換字符串更改為重定向到https://.... 但如果您想重定向到,www那么您還需要反轉(zhuǎn)邏輯:


# Redirect "example.com -> www.example.com"

# (In fact, redirect hostname that does not start "www.")

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

不過,如果您有其他子域,這種特殊方法(正如我在評論中暗示的那樣)不一定有效,除非您希望所有子域都有 www 子子域?!


請注意,這是外部“重定向”,而不是您在評論中所述的內(nèi)部“重寫”。


如果是這樣 - 這真的是最佳實踐嗎?


從SEO角度還是從技術(shù)角度?在 SEO 方面沒有區(qū)別。使用www子域可以說具有一些技術(shù)優(yōu)勢(隔離 cookie 和臨時站點等) - 盡管這主要是一個意見問題并且取決于您的環(huán)境。這真的取決于你。對于某些域名,使用www子域看起來很麻煩。


但重要的是您選擇其中之一并重定向到規(guī)范 URL,以避免潛在的重復(fù)內(nèi)容問題。


使用域頂點(即沒有 www 子域)只是 CodeIgniters默認(rèn)的。


對每個 URL 強制使用 https - 但如果我使用它會導(dǎo)致錯誤www.


為了澄清,您實施的 SSL 證書必須包括域頂點,即。exmaple.com和 www 子域,即。www.example.com。否則,在請求“其他”(非 SSL)主機名時,您自然會收到瀏覽器安全警告。


RewriteCond %{HTTPS} off

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

此代碼通常可以強制 HTTP 到 HTTPS(前提是您的應(yīng)用程序服務(wù)器上安裝了 SSL 證書,即您沒有使用前端 SSL 代理或非標(biāo)準(zhǔn)實現(xiàn))。但是,您將此規(guī)則與上述規(guī)則相關(guān)的順序取決于您是否打算實施HSTS 。


如果您打算實施 HSTS,那么您需要先重定向到同一主機上的 HTTPS ,然后再重定向到 www。當(dāng)請求非規(guī)范時,這將導(dǎo)致不可避免的雙重重定向http://example.com/(但這并不是“壞”)。


例如:


# 1. Redirect to HTTPS on the same host

RewriteCond %{HTTPS} off

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


# 2. Redirect to non-www to www

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

但是,如果您不打算實施 HSTS,那么您可以顛倒上述兩條規(guī)則,并為任何非規(guī)范 URL 請求最多獲得一個重定向。


您需要更新 CodeIgniterbase_url以匹配您對 www 的偏好。


查看完整回答
反對 回復(fù) 2023-07-30
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號