簡體   English   中英

htaccess 從 www 重定向到非 www

[英]htaccess redirect from www to non-www

我是新來的。

我的 .htaccess 文件中的代碼如下所示:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

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

Redirect 301 /abc/ /abcnew/

我希望這個從 www 重定向到非 www,即從http://www.example.comhttp://example.com

我復制了:

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

此代碼來自此處Generic.htaccess 將 www 重定向到非 www

我還檢查了 linux 服務器上的 /etc/apache2/mods-enabled 文件夾。 存在“rewrite.load”這個模塊。(我認為這可能意味着我的服務器上啟用了重寫,但如果我錯了請糾正我。)

Redirect 301 /abc/ /abcnew/

僅供參考,上面的代碼工作正常(它將我的舊鏈接重定向到新鏈接)。

我也試過這個。

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

對我不起作用。

請幫忙。 提前致謝...

編輯:

這個鏈接我找到了這個。 但不確定應該編輯什么。 任何人都可以指出。?

您需要在內部重寫規則之前放置external (full) redirect規則,並確保僅使用mod_rewrite規則。

嘗試這個:

RewriteEngine on
RewriteBase /

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

RewriteRule ^abc/?$ /abcnew/ [L,NC,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 
  RewriteCond %{HTTPS} off
  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

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

暫無
暫無

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

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