【问题标题】:SEO for multilingual site多语言网站的 SEO
【发布时间】:2013-01-01 02:32:18
【问题描述】:

我有这个网站,我想重写网址:

mydomain.com/referinte?lang=zh

mydomain.com/referinte?lang=ro

有没有可能这样我可以使用 .htaccess 来修改网址:

mydomain.com/en/references

mydomain.com/ro/referinte

我当前的 .htaccess 是:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

【问题讨论】:

  • 澄清一下,您希望将 mydomain.com/en/references 这样的 URL 重写为 mydomain.com/references.php?lang=en
  • 我想要像 mydomain.com/en/references 这样的 URL,现在 URL 看起来像这样:mydomain.com/references.php?lang=en

标签: .htaccess url-rewriting seo


【解决方案1】:

根据您的输入,我建议使用 URL 重写配置如下:

RewriteEngine  on
RewriteRule    ^([a-zA-Z-_]+)$  $1.php?lang=en  [R]
RewriteRule    ^([a-z]+)/([a-zA-Z-_]+)$  $2.php?lang=$1  [R]

第一条规则将像/abc(没有指定语言)这样的URL重写为/abc.php?lang=en,并将英语(en)设置为默认语言 第二条规则将/xy/abc(指定语言)等URL 重写为/abc.php?lang=xy(语言取自请求URL 的第一部分

例子:

  • http://mydomain.com/en/references => http://mydomain.com/references.php?lang=en(重写规则 #2)
  • http://mydomain.com/ro/referinte => http://mydomain.com/referinte.php?lang=ro(重写规则#2)
  • http://mydomain.com/references => http://mydomain.com/references.php?lang=en(重写规则 #1)
  • http://mydomain.com/referinte => http://mydomain.com/referinte.php?lang=en(重写规则 #1)

请注意,规则将忽略对特定 PHP 文件的请求,即如下请求:http://mydomain.com/ro/referinte.phphttp://mydomain.com/referinte.php 不会被重写。此外,对于不存在的页面,服务器响应应该与当前相同,即假设/referinte.php 不存在,请求如下:http://mydomain.com/en/referinte(新重写)和http://mydomain.com/referinte?lang=en(当前重写)我想会返回 404。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2012-04-04
    • 2012-03-12
    • 2012-05-02
    相关资源
    最近更新 更多