0

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

我在这个论坛上看到了很多例子,比如: 在 .htaccess 中将非 www 重定向到 www, 但它们都没有像我想要的那样工作。

我的网址是: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]

正确的方法是什么?

4

1 回答 1

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]
于 2014-12-26T17:02:17.657 回答