精华内容
下载资源
问答
  • 英文:url canonicalization来自matt cutts的博客文章:SEO advice: url canonicalization 中文翻译:SEO的建议:URL标准化 “URL标准化”一个动名词,不好直接解释,我把它反过来一下:什么是一个标准化的URL?...

    URL标准化,英文:url canonicalization来自matt cutts的博客文章:SEO advice: url canonicalization 中文翻译:SEO的建议:URL标准化 “URL标准化”是一个动名词,不好直接解释,我把它反过来一下:

    什么是一个标准化的URL?

    很多情况下,我们认为以下这几个链接都指向同一个页面(首页):

    www.shangyingxinxi.com
    shangyingxinxi.com/
    www.shangyingxinxi/index.html
    shangyingxinxi.com/index.php
    但是从URL发送请求并返回网页内容的过程来看,这些URL都是互不相同的。对于上述URLs,Web服务器完全可以返回完全不同的内容。当这些URL所对应的内容都一样时(一般情况下都一样的),谷歌需要从上述URLs中选一个具有代表性的,而忽略其余的。那么这个被谷歌选择了的URL,就是一个标准化的URL。谷歌选择的这个过程称为“标准化”。

    谷歌是怎么URL标准化的?

    一般情况下,谷歌根据被外链的数量来判断。采用多的,则是标准化URL。

    我想告诉谷歌我想要的标准化URL,怎么办?

    采用301重定向进行URL标准化。

    301重定向具体办法:

    设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)

    使访问example.com/的时候就会自动转到www.example.com
    在.htaccess文件里写上以下代码即可。

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

    了解本站的.htaceess文件设置,请 点击这里

    注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。

    那么如何将无效的URL重定向到其他页面?

    很多时候,我们考虑把无效的URL比如:用户拼错的URL、不存在的URL重定向到别的网页,例如网站的首页、404页面等。

    在httpd.conf或.htaccess文件中使用ErrorDocument来捕获404 (找不到文件)错误:

                ErrorDocument 404 /index.html
                DirectoryIndex index.html /path/to/notfound.html

    本功能会让所有的404错误——每次当某人请求无效的URL 时,都返回URL / index.html 提供的网站首页。

    这里需要注意两点:

    1、直接指向首页是否是合适的?或者让它指向到一个404页面会更好些?如果在404页面用javasctrip做一个跳转到首页,也是SEO允许的做法。

    2、即使返回有效的文件,仍然会将404 状态码返回给客户端和搜索引擎。这表示搜索引擎机器人来确认网站上的链接时,仍然会得到正确的结果(404状态码)。

    展开全文
  • .htaccess中的[NC][R][F][L]几个标记是什么意思 NC: no case,就是说不区分大小写 R:redirect,重定向 F:forbidden,禁止访问 L:last,表示已经是最后一条规则,.htaccess文件解析即将退出 比如原地址为 /beauty/...

    .htaccess中的[NC][R][F][L]几个标记是什么意思

    NC: no case,就是说不区分大小写

    R:redirect,重定向

    F:forbidden,禁止访问

    L:last,表示已经是最后一条规则,.htaccess文件解析即将退出

     

    比如原地址为 /beauty/ydjs/office/20130408/20366.html
    调整后跳转到 /a/201304/20366.html
    在.htaccess文件中添加如下内容:

    RewriteEngine On  
    RewriteRule ^beauty/ydjs/office/(\d{6})(\d{2})/(.*)$ /a/$1/$3 [NC,R=301] 

    NC,R 这几个参数现在就很容易理解了,NC:忽略大小写;R:跳转形式为301,如果不是太理解,可以先看下正则表达式相关的知识。

    其实.htaccess的规则是正则形式的,所以如果说你想了解更多规则的写法,可以先看下正则表达式方面的教程

    参考网址:http://www.66php.com/375.html

    转载于:https://www.cnblogs.com/xiaoxiao2014/p/4402733.html

    展开全文
  • 学php也有3年了,一直对url重写不是很了解,本学用到的话都百度一下,再复制作简单修改,一些变量的参数都不太了解什么意思,难得今天有时间,做个笔记吧! 1)可用的一些系统变量,在重写条件和重写规则里都可以...

    学php也有3年了,一直对url重写不是很了解,本学用到的话都是百度一下,再复制作简单修改,一些变量的参数都不太了解什么意思,难得今天有时间,做个笔记吧!

    1)可用的一些系统变量,在重写条件和重写规则里都可以使用,格式为 %{name_of_variable}

     

    HTTP headers:connection & request: 
    HTTP_ACCEPT
    HTTP_COOKIE
    HTTP_FORWARDED
    HTTP_HOST
    HTTP_PROXY_CONNECTION
    HTTP_REFERER
    HTTP_USER_AGENT
    AUTH_TYPE
    CONN_REMOTE_ADDR
    CONTEXT_PREFIX
    CONTEXT_DOCUMENT_ROOT
    IPV6
    PATH_INFO
    QUERY_STRING
    REMOTE_ADDR
    REMOTE_HOST
    REMOTE_IDENT
    REMOTE_PORT
    REMOTE_USER
    REQUEST_METHOD
    SCRIPT_FILENAME
     
    server internals:date and time:specials:
    DOCUMENT_ROOT
    SCRIPT_GROUP
    SCRIPT_USER
    SERVER_ADDR
    SERVER_ADMIN
    SERVER_NAME
    SERVER_PORT
    SERVER_PROTOCOL
    SERVER_SOFTWARE
    TIME_YEAR
    TIME_MON
    TIME_DAY
    TIME_HOUR
    TIME_MIN
    TIME_SEC
    TIME_WDAY
    TIME
    API_VERSION
    CONN_REMOTE_ADDR
    HTTPS
    IS_SUBREQ
    REMOTE_ADDR
    REQUEST_FILENAME
    REQUEST_SCHEME
    REQUEST_URI
    THE_REQUEST

     使用示例:

    RewriteCond %{HTTP_REFERER} !abc.com         [NC]
    RewriteCond %{REQUEST_URI}  !logo.png        [NC]
    RewriteRule \.(jpg|png|gif|jpeg)$ http://www.abc.com/logo.png [R,NC,L]

    PS:具体每个变量是什么意思就不说了,看变量名一般也知道是什么意思,实在不知道就自己再查吧

     

    2)参数变量(只列出常用的几个,其他的请看 这里

    -d   是否一个目录

    -f    是否一个文件

    -U   是否一条有效的链接

    这个比较常用来做伪静态时,判断访问链接是否一个真实目录或一个真实文件,不对它们进行重写(!是不等于的意思)

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

     

    3)比较运算符(用于重写条件 RewriteCond)

    字符串比较

     

    =      等于

    <      小于

    >      大于

    <=     小于等于

    >=       大于等于

     

    整数比较

    -eq     等于(equal)

    -ge     大于等于(greater or equal)

    -gt     大于(greater than)

    -le      小于等于(less or equal)

    -lt      小于(less than)

    -ne     不等于(not equal)

     

    4)RewriteBase 重写的根目录

    默认重写是从根目录 / 开始的,但如果你的web目录是在二维目录里的,例如 /myapp/ 里的,这时候你要使用 urlrewrite的话是这样的

    RewriteRule "^/myapp/index\.html$"  "/myapp/index.php"

    这样的话,是不是会很烦??这时候你就可以用RewriteBase了

    RewriteBase "/myapp/"
    RewriteRule "^index\.html$"  "index.php"

     

    5)RewriteRule 后面的标识(flags)(同时只列出几个常用的,其他的请看 这里

    [QSA]      保留未重写之前的链接的查询参数

    RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]
    
    使用 [QSA] 标识, 一个类似 /pages/123?one=two 这样的请求,会被重写成 /page.php?page=123&one=two 这样,如果没有 [QSA] 标识, 一样的请求,将会被重写成 /page.php?page=123

     

    [PT]       使用这个标识,会让系统遇到一些以pathinfo格式分隔的url,不当成一个目录路径来处理

    例如:/home/article/detail/id/1.html
    
    默认地,url用/分隔的,是会被认为是目录来处理的(home目录下的article目录下的detail目录下的id目录下的1.html文件)
    
    使用[PT]标识,就是告诉系统,这就是条字符串,不是目录,不要去找目录

     

    [L]      匹配的最后一条规则,意思就是如果匹配了这一条规则,就不用比较这一条规则后的规则是否匹配了,直接停掉就可以了

     

    [NC]     匹配时忽略大小写

     

    [R]       重定向,url防盗链或301跳转等等会用到

    PS:重定向时,想发出什么请求头,就用R=状态码就可以了
    
    例如301重定向就是这样写的:[R=301,L]

     

    6)正则怎么写?

    1、正则部分是不需要处理域名也处理不到域名的,重写从根目录(/)开始

    #错误的
    RewriteRule htt:\/\/www\.abc\.com\/index\.html   http:\/\/www\.abc\.com\/index\.php  [NC,L]
    
    #这个也是错误的
    RewriteRule (.*)\/index\.html   $1\/index\.php  [NC,L]
    
    #正确的
    RewriteRule  index\.html   index\.php  [NC,L]

     

    2、^和$

    ^和$是匹配开头和结束的,不限制开头和结束时,相当于模糊匹配

    #这个是可以匹配到图片文件链接,做防盗链的
    RewriteRule \.(jpg|png|gif|jpeg)$ http://www.abc.com/logo.png [R,NC,L]
    
    #但下面这样是不行的,图片链接还有域名路径和文件名呢,直接.jpg这样肯定是匹配不上的
    RewriteRule ^\.(jpg|png|gif|jpeg)$ http://www.abc.com/logo.png [R,NC,L]
    
    
    #下面这样是这是可以的
    RewriteRule ^(.+)\.(jpg|png|gif|jpeg)$ http://www.ot.com/logo.png [R,NC,L]

     

    3、$1 $2 $3 ......??

    $1 $2 这些点位符是替换首页正则式匹配上的内容的,一个括号()一个组

    RewriteRule ^/article/(\d+)/(\d+)\.html$ index\.php/article/index/cat_id/$1/id/$2 [NC,L]

    前面两个(\d+)组,后面用$1 $2代替,再加一个组,就用$3代替,以此类推~

     

    暂时就这样吧,完。

    转载于:https://www.cnblogs.com/tujia/p/6277934.html

    展开全文
  • 本篇借鉴了很多文章,这里做个记录。 有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏...想要配置一个好的URL重写,正则表达式必须知道什么意思,W3C...

    本篇借鉴了很多文章,这里做个记录。

    有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏,伪静态的形式可以自己定义,本质还是访问一个动态页面。

    当我们访问Index.html实际访问index.aspx。伪静态是我们配置web.config来完成的。

    想要配置一个好的URL重写,正则表达式必须知道什么意思,W3C  有基础的介绍。

     附一个正确的web,config

    正文:

    ①引用dll文件,也就是官方写好的类,来完成配置

    已上传GitHub:查看下载

    先引用到我们的项目

    ②配置web,config,最重要的一步,这里配置了最基本的,还有的可以自己去扩充

     

     到此,配置基本完成了,重点在第2步和第3步,需要什么就自己定义。

     

    最后来看看效果

     

    你看出了什么,上面出现的type属性,都是引用了命名空间中的类

     新建4个页面,在我们的第一个页面中

     

     

     之前配置出现的问题: 

     

    当你这样配置的时候,会出现这个错误,然后我去IIS里面把集成模式改成经典也不行,把这个移到了<system.webserver>里面配置就好了

     

    转载于:https://www.cnblogs.com/Sea1ee/p/7365290.html

    展开全文
  • 估计很难看得出,因为所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他真的还是伪的?搜索引擎看得出吗?所以说,其实不论真的还是伪的,其实对于搜索引擎来说都一样的,搜索引擎没有说,你这个...
  • URL Rewrite(URL重写工具)作为IIS下较为常用的模块组件, 提供了重写、重定向、自定义响应、中止请求等功能。但是其相关的中文资料比较缺少,官方倒是有完整和...R和C表示的是什么意思? 这里先看官方文档的说明: Ba
  • nginx rewrite重写

    2020-01-24 10:58:48
    大家看字面意思就是重写的意思重写是什么?不知道的人如果去百度rewrite,竟然会百度出来一部动漫? enmm,还是打全rewrite去了解一下情况比较好。 Rewrite跳转场景 #URL看起来更规范,合理 #企业会将动态URL地址...
  • 虚拟主机伪静态页面相对于真实静态页面而言的,通过对动态网页重写URL的方式来伪装动态网页的参数。开启服务器伪静态,我们以虚拟主机为例进行介绍。下面聚名网小编就为大家介绍一下虚拟主机怎么开伪静态和虚拟...
  • REWRITE模式在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。 如果Apache则需要在入口文件的同级添加.htaccess文件,内容如下: ...
  • 虚拟主机伪静态页面相对于真实静态页面而言的,通过对动态网页重写URL的方式来伪装动态网页的参数。开启服务器伪静态,我们以虚拟主机为例进行介绍。下面聚名网小编就为大家介绍一下虚拟主机怎么开伪静态和虚拟...
  • 是什么意思呢:这表示如果你访问了一个需要权限的url,但是目前你登陆的角色没有权限,那么页面默认跳转的地址。 看着似乎是没啥毛病。 但是!!! 如果是前后端分离怎么办呢?后端shiro让项目
  • 该技术的核心方程在服务器端,主要通过服务器的重写技术,一种基于正则表达式的重定向技术。 原理如:index.php?id=124这个地址,服务器事先定义,/可以替换,重写为?id=则,这个地址就变成index.php/124...
  • 是什么意思呢:这表示如果你访问了一个需要权限的url,但是目前你登陆的角色没有权限,那么页面默认跳转的地址。 看着似乎是没啥毛病。但是!!! 如果是前后端分离怎么办呢?后端shiro让项目跳向前端某个页面...
  • 伪静态页面是什么意思? 动态、静态、伪静态? 动态网址:内容存于数据库中,根据要求显示内容,URL中以 ? # & 显示不同的参数,如:news.php?lang=cn&class=1&id=2 静态网址:纯静态HTML文档,能使用filetype:...
  • 作者:南寻旧梦原文:https://blog.csdn.net/lanlansirshiro整合前后端分离的springboots,Vue项目真的是有很多大坑啊。今天我的主题是:如何设置shiro过滤器。遇到问题:我的项目是...函数这是什么意思呢:这表示...
  • shiro整合前后端分离的springboots,Vue项目真的是有很多大坑啊。今天我的主题是:如何...函数这是什么意思呢:这表示如果你访问了一个需要权限的url,但是目前你登陆的角色没有权限,那么页面默认跳转的地址。看着...
  • 首先要知道 405 响应码的作用是什么,它的意思就会说请求的方法不匹配,一般是因为本来是 POST 提交的请求,你使用了 GET 方法造成的,也可能是这个请求方法根本没有是你胡编乱造出来的。 提示信息 提示信息说不支持...
  • nginx rewirte 和 location

    2017-03-31 22:48:04
    rewrite 顾名思义就是重写意思,主要针对URL进行重写,采用方法使用PCRE(Perl Compatible Regular Expressions) perl兼容正则表达式语法进行规则匹配。 其意义所在: 可以规范URL 根据变量来做URL转向和选择...
  • 参考文章 ...RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 是什么意思? 效果图 未隐藏入库文件时: 隐藏入口文件后: 具体步骤 在TP5根目录中添加.htaccess文件就可以了,文件内容如下 <IfModul...
  • 8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 8.3.8 关于...
  • SEO编程PHP中文版

    2013-02-01 15:32:53
    8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 ...
  • 8.1 帽子是什么意思 8.2 绕过规则 8.3 黑帽技术分析 8.3.1 攻击避免 8.3.2 HTML插入攻击 8.3.3 使用Nofollow避免回帖攻击 8.3.4 清理用户输入 8.3.5 要求手工输入 8.3.6 301重定向攻击 8.3.7 内容盗窃 8.3.8 关于...
  • ASP.NET伪静态的实现及伪静态的意义

    千次阅读 2013-09-23 16:18:49
    其实所谓的伪静态页面,就是指的URL重写,在ASP.NET中实现非常简单。本文讨论来我们为什么会采用伪静态和相应的简单实现。  一、伪静态的用处  有些用户觉得,伪静态和真静态实际被收录量会相差很大,其实不然,...
  • 首先我们明确一点,图片要想显示,那么这张图片肯定有URL指向,意思就是说这张图片要么它就在你的服务器上,要么就在网上(…废话……),明确了这一点那我们就可以解释为什么我们需要CK做到图片上传的功能,因为...
  • 4.C#中的委托是什么?事件是不是一种委托? 答 : 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的...
  • 我对之前的endebug函数进行了JS反混淆,但是仍看不出反混淆后的代码如何识别到chromedriver的,或者它和2.1有什么共性因素而被识别出来(不确定是否这样做,初学者多多包涵)。 如果对网站的JS加载进行停用,...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

url重写是什么意思