[英]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.com到http://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.