簡體   English   中英

更新.htaccess以重定向到“ www”

[英]Updating .htaccess to redirect to “www”

我有一個使用PHP框架(CodeIgniter)的網站,並且嘗試將發送到“ mydomain.com”的所有查詢重定向到www.mydomain.com“ 。我對.htaccess進行了更改,現在看起來如下:

<IfModule mod_rewrite.c>
  RewriteEngine On

  # I just added this part
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  # The default rule of the framework
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</IfModule>

現在的問題是,當我輸入“ mydomain.com”時,它可以正常工作,用戶已正確重定向,但是當他們輸入更復雜的地址(例如“ mydomain.com/Settings”)時,他們也被重定向到此主頁。

我該如何解決?

謝謝

這對我有用(example.com)

<IfModule mod_rewrite.c>
  RewriteEngine On

  # I just added this part
  RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
  RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

  # The default rule of the framework
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</IfModule>

對於我來說,其中的“框架”部分可能因服務器而異,以我自己的經驗,我有以下選擇:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# NORMAL SERVER ( COMMENT OUT IF GODADDY OR OPTION #3 )
RewriteRule .* index.php/$0 [PT,L]

# SPECIAL GODADDY LINE ( UNCOMMENT IF GODADDY )
#RewriteRule ^(.*)$ /index.php?/$1 [L]

# IF NOTHING ELSE WORKS UNCOMMENT THIS ONE
#RewriteRule ^ index.php [QSA,L]

我知道您不是在詢問“框架”部分,但我想還是要提一下。

試一下。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

在RewriteEngine On之后添加它

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 

暫無
暫無

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

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