Php Url不友好-i18n

Php Url不友好-i18n,php,session,seo,Php,Session,Seo,我正在使用以下代码: <ul> <a href="?lang=pt"><li class="pt lang"></li></a> <a href="?lang=en"><li class="us lang"></li></a> </ul> 我的问题是关于搜索引擎优化。SEO博士扩展说这个url不友好。我怎样才能解决这个问题?有会议吗?怎么做 像这样的东西对我会有用

我正在使用以下代码:

<ul>
   <a href="?lang=pt"><li class="pt lang"></li></a>
   <a href="?lang=en"><li class="us lang"></li></a>
</ul>
我的问题是关于搜索引擎优化。SEO博士扩展说这个url不友好。我怎样才能解决这个问题?有会议吗?怎么做

像这样的东西对我会有用的:

$_SESSION['lang']

将语言存储在会话中是为了纯内容页面,而这些页面并不真正对用户友好,而且至少对seo不友好,因为对于每种语言,您可以有两个包含不同内容的url

最好将语言存储在url中,或者使用不同的域来实现这一点

example.com/site/    - for english content
example.de/site/     - for german content
或者将语言存储在url中

example.com/de/site/
example.com/de/site/

在不更改完整内容的情况下执行此操作的一种简单方法是mod_rewrite并将
example.com/en/site/
替换为
example.com/site/
,然后将
en
字符串添加到POST或GET参数中

您尚未指定正在使用的HTTP服务器。假设您使用的是Apache,您可以通过在适当的.htaccess文件中配置
mod_rewrite
扩展名来创建
clean URL

例如,下面是在其.htaccess文件中执行的操作:

<IfModule mod_rewrite.c>
  RewriteEngine on
  # Pass all requests not referring directly to files in the filesystem to
  # index.php.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
可能成为:

http://something.com/1/2/3

这实际上是将URL的第一部分分配给
foo
,第二部分分配给
bar
,第三部分分配给
baz

误读了您的问题,抱歉。您可以在URL中添加语言作为第一个参数。类似于
http://www.example.com/en/
如今,大多数网站都使用子网站变体。例如:
http://www.example-domain.com/en-us/...
http://www.example-domain.com/fr-fr/...
您可以使用PHP框架来实现这一点。一个非常容易使用的框架是Codeigniter框架。在那里,您可以轻松地更改路由,并具有如下URL:。。。e、 t.c。
http://something.com/?foo=1&bar=2&baz=3
http://something.com/1/2/3