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