gpt4 book ai didi

.htaccess - 多语言网站的 SEO

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:29:47 24 4
gpt4 key购买 nike

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

mydomain.com/referinte?lang=en

mydomain.com/referinte?lang=ro

有没有可能,所以我可以使用 .htaccess 像这样修改 url:

mydomain.com/en/references

mydomain.com/ro/referinte

我当前的 .htaccess 是:

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

最佳答案

根据您的输入,我建议使用如下 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 (RewriteRule #2)
  • http://mydomain.com/ro/referinte => http://mydomain.com/referinte.php?lang=ro (RewriteRule #2)
  • http://mydomain.com/references => http://mydomain.com/references.php?lang=en (RewriteRule #1)
  • http://mydomain.com/referinte => http://mydomain.com/referinte.php?lang=en (RewriteRule #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。

希望对您有所帮助。

关于.htaccess - 多语言网站的 SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com