关于 ECSHOP 301重定向的问题

2016年9月28日03:01:04 发表评论 3,954

 

ECSHOP中的相对地址改为带域名的绝对地址相对地址和绝对地址是怎么区分的呢?

绝对地址或者是成为完整地址。在查看源文件的时候在源文件中都能看到的带域名的完整URL形式。

绝对地址“<a rel="external nofollow" target="_blank" href="http://www.yurenbuluo.com/wp-content/themes/begin/go.php?url=aHR0cDovL3d3dy54eHh4eC5jb20veG5hbWUvMjEzNDIzLmh0bWwg">xxxxx</a>”

相对地址“<a href="xname/213423.html ">xxxxx</a>”

相对地址当使用”www.xxx.com“访问的时候路径为www.xxx.com/xname/213423.html

相对地址当使用”xxx.com“访问的时候路径为xxx.com/xname/213423.html

使用相对地址对SEO来说不是很友好。那要怎么去规避这个问题呢。下面就是我们要配置服务器进行301重定向重写URL来实现绝对地址。

目前有三种主流WEB服务器的使用IISApacheNginx那要如何配置301重定向呢。我们可以使用对应服务器的配置文件来进行WEB服务器的301重定向,或者是进行其他的功能配置。

IIS

通过Web.config实现301重定向 注:只有IIS7以上才可以使用配置文件来实现IIS的重定向设置。


<system.webServer>

<validation validateIntegratedModeConfiguration="false" />

<modules runAllManagedModulesForAllRequests="true" />

<security>

<requestFiltering allowDoubleEscaping="true" />

</security>

<rewrite>

<rules>

<rule name="301Redirect" stopProcessing="true">

<match url="(.*)" />

<conditions logicalGrouping="MatchAny">

<add input="{HTTP_HOST}" pattern="^yurenbuluo\.com$" />

<add input="{HTTP_HOST}" pattern="^www\.yurenbuluo\.com$" />

</conditions>

<action type="Redirect" url="http://www.yurenbuluo.com/{R:0}" redirectType="Permanent" />

</rule>

</rules>

</rewrite>

</system.webServer>

以下规则适用于 IIS 6中的 ISAPI_Rewrite 2.x 3.x 中的httpd.ini或.htaccess

RewriteCond %{HTTP:Host} ^yurenbuluo.com$
RewriteRule (.*) http://www.yurenbuluo.com/$1 [NC,R=301]

Apache

通过.htaccess服务配置文件来进行操作301重定向


RewriteEngine On
RewriteCond %{http_host} ^yurenbuluo.com$ [NC]
RewriteRule ^(.*)$ http://www.yurenbuluo.com/$1 [R=301,L]

“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为yurenbuluo.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

“RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.yurenbuluo.com/”接上访问请求的网址中 yurenbuluo.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。

Nginx

需要在配置文件里面使用rewrite指令来实现Nginx301重定向

server {
server_name yurenbuluo.com;
rewrite ^/(.*)$ http://www.yurenbuluo.com/$1 permanent;
}

Nginx目录重定向设置

if ( $request_filename ~ XXName/ ) {
rewrite ^ http://www.yurenbuluo.com/name/? permanent;
}

 

ECshop中可以通过修改文件来实现绝对地址,而不用配置服务器用301重定向实现。

修改起来也很简单只修改一行代码就能实现。

打开 /includes/lib_common.php 文件

搜索

return $uri;

修改为

return 'http://www.xxxxx.com/'.$uri;

这个是ECSHOP自身的URL地址重写简单的修改一下就能实现绝对地址。是不是很方便呢。web

  • 我的微信
  • weinxin
  • 渔人公众号
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: