【问题标题】:How to redirect non-www to www using htaccess?如何使用 htaccess 将非 www 重定向到 www?
【发布时间】:2014-12-26 16:07:28
【问题描述】:

我正在尝试从非 WWW url 到 WWW url 的 htaccess 重定向。

我在这个论坛上看到了很多例子,比如: Redirect non-www to www in .htaccess 但它们都不像我想要的那样工作。

我的网址是:www.evo.co.il 例如,我网站中的一个页面是 www.evo.co.il/בניית-אתרים 在 url 中获取 slug 并重定向到页面(通过 htaccess)

所以我希望它会像这样工作:

evo.co.il -> www.evo.co.il

evo.co.il/בניית-אתרים -> www.evo.co.il/בניית-אתרים

我看到的一些示例仅适用于根域而不适用于页面,其他一些示例以这种方式重定向内页:

evo.co.il/בניית-אתרים -> www.evo.co.il/page.php?id=1

我尝试了这些代码(以及许多其他版本):

1.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^evo.co.il$
RewriteRule (.*) http://www.evo.co.il/$1 [R=301,L] 
RewriteRule ^בניית-אתרים$ /page.php?id=1 [L]

2.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^evo.co.il
RewriteRule (.*) http://www.evo.co.il/$1 [R=301,L] 
RewriteRule ^בניית-אתרים$ /page.php?id=1 [L]

3.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^evo.co.il$ [NC]
RewriteRule ^(.*)$ http://www.evo.co.il/$1 [L,R=301]
RewriteRule ^בניית-אתרים$ /page.php?id=1 [L]

正确的做法是什么?

【问题讨论】:

    标签: .htaccess redirect seo url-redirection no-www


    【解决方案1】:

    为什么不简单:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !www\.evo\.co\.il$ [NC]
    RewriteRule ^(.*)$ http://www.evo.co.il/$1 [L,R=301]
    
    RewriteRule ^בניית-אתרים$ /page.php?id=1 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 2012-11-16
      • 2010-11-12
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多