url模糊匹配优化_seo建站优化之URLrewrite

news/2024/5/9 20:52:11/文章来源:https://blog.csdn.net/weixin_39692172/article/details/111122196

5c50dbf040d2243e5eb4610a77a71f3b.png

862784871dd8dcbaf4cef9bd1dc59032.gif

前言:

UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。

01

一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多

二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL

三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。

缺点: 因为它是通过过滤器原理来实现的,就意味着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。

使用范围

地址重写一般是用于将动态地址伪静态。如果本身就是静态就没必要了。地址重写后网站制作者可以通过输入地址名直接访问。

cd9f5cedaa3536ffea7462ced04da1f0.png

02

使用方法

第一步:添加maven依赖或下载urlrewritefilter.jar直接到你的 web - inf / lib 目录中。

maven依赖:

      <dependency><groupId>org.tuckey</groupId><artifactId>urlrewritefilter</artifactId><version>4.0.4</version></dependency>

ps:如果你直接复制到的pom.xml,可能会报这个错

pom.xml mvn package expected START_TAG or END_TAG not TEXT

解决办法:

https://applyset.xyz/34.html

下载jar

官方地址:http://tuckey.org/urlrewrite/
下载urlrewritefilter-4.0.3.jar,加入到工程lib目录下。

第二步:在web.xml中加入如下配置,进行初始化:

<filter><filter-name>UrlRewriteFilter</filter-name><filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping><filter-name>UrlRewriteFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher>
</filter-mapping>

第三步:在WEB-INF目录下建一个urlrewrite.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN""http://tuckey.org/res/dtds/urlrewrite3.1.dtd">
<urlrewrite><rule><!--拦截页面以xxx开头的数据,作为转发给前端使用,以^开头$结束--><from>^xxx$</from><!-- to: 真实的URL --><to></to></rule><!-- 上一个<rule></rule>为示例 --><rule><from>^/vweb/view/index-([0-9]+)$</from><to>/vweb/view/index.shtml?_vwebid=$1&amp;type=show</to></rule>
</urlrewrite>

简单的介绍一下常用的正则表达式:

. 匹配除换行符以外的任意字符
w 匹配字母或数字或下划线或汉字
s 匹配任意的空白符
d 匹配数字
b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

常用的&要用 &amp;来表示。$1,$2代表与你配置正规表达式/(w+)/(w+)/相对应的参数。

<to type="forward">中的type有两个值,默认的是 type="forward".连接外部的网站时用type="redirect"。

<rule>  <from>^/rss/yahoo.html$</from>  <to type="redirect">http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed[/url]</to>  </rule>  

03

springboot项目配置urlrewriteFilter

这第一步好像没什么好说的,使用urlrewriteFilter自然要引入依赖的jar包.(前文已经说到,这里不做赘述)

第二步,配置过滤器

package com.llf.springboot.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.tuckey.web.filters.urlrewrite.Conf;
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import java.io.IOException;@Configuration
public class UrlRewriteConf extends UrlRewriteFilter {private static final String URL_REWRITE = "classpath:/urlrewrite.xml";//注入urlrewrite配置文件@Value(URL_REWRITE)private Resource resource;//重写配置文件加载方式protected void loadUrlRewriter(FilterConfig filterConfig) throws ServletException {try {//将Resource对象转换成Conf对象Conf conf = new Conf(filterConfig.getServletContext(), resource.getInputStream(), resource.getFilename(), "@@traceability@@");checkConf(conf);} catch (IOException ex) {throw new ServletException("Unable to load URL rewrite configuration file from " + URL_REWRITE, ex);}}
}

附:网上关于springboot的过滤器的写法大概有三类,感兴趣的可自行百度,这里就不提供了

特别需要注意的是:

confPath的作用是,指定URLRewrite配置文件的位置,默认在WEB-INF下,但是我使用的内嵌式的服务器,所以是没有这个目录的,为了解决这个问题,

我可是翻了不少的地方,直接写配置文件名称,表示该文件在类加载路径下.如果你是maven构建的项目,那就是resource下.

ea99149e4e4a2acfab886815501b1cc0.png

这个也比较好理解的.

但是有一点需要注意的是,如果打的不是war包而是jar包的话,那么指定confPath参数是没有作用的,因为它读取不到你的配置文件.

配置urlrewrite.xml

同上


这里可以添加多条拦截规则,每一条拦截规则使用rule标签包裹.

这里没有特别需要注意的地方.

如果只是简单的使用的话,记住下面这一点就足够了.

首先,如果你会用正则表达式的话,可以通过正则表达式来处理,如果不会,可以使用通配符.

<from>^/(w+)/_([wd])+.html$</from>
<!-- to: 真实的URL -->
<to type="forward">/$1.html?param=$2</to>

控制台出现以下信息表示加载成功

5d20c82395f3da90ac87dc62e4d21120.png

效果预览图

cc3e5f0a6371b27d32a0f50057bc98af.png

cd9f5cedaa3536ffea7462ced04da1f0.png

个人博客网:https://applyset.xyz/(欢迎友链)

微信公众号:知兮寒兮

微信小程序:知兮寒兮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_737219.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java cms建站系统源码_Rongcheng CMS 融成Java后台网站内容管理系统 v3.2.1

融成Java后台网站内容管理系统是一款基于Java语言开发的功能强大的内容管理系统。成功实现了既能够管理包括企业官网、门户站点、图片视频软件等上传下载网站、博客网站、电商购物网站、物流管理网站等复杂多级页面和多级栏目的大型网站系统&#xff0c;又使得软件简单易学、易…

快速建站教程

网上有很多网站搭建教程&#xff0c;今天搭建好之后&#xff0c;也来发表一下自己的搭建步骤&#xff1a; 第一步&#xff0c;买域名&#xff1a;一直想搭建一个个人的网站&#xff0c;最近在弄关于服务器的东西&#xff0c;说弄就弄&#xff0c;百度了很多东西&#xff0c;说国…

WEB网站常见受攻击方式及解决办法

2019独角兽企业重金招聘Python工程师标准>>> WEB网站常见受攻击方式及解决办法 一.跨站脚本攻击(XSS) 跨站脚本攻击&#xff08;XSS&#xff0c;Cross-site scripting&#xff09;是最常见和基本的攻击WEB网站的方法。攻击者在网页上发布包含攻击性代码的数据。…

新手网站建设必备两款软件WinSCP和XShell 软件下载和使用

早年我们才开始学习网站建设的时候看到拥有个人网站的站长很是羡慕&#xff0c;以为需要精通各种技能才能拥有自己的网站。当然&#xff0c;随着这几年互联网的发展&#xff0c;以及共享软件的出现。即便我们不会程序也可以快速的搭建属于自己的网站。我们只需要购买域名、主机…

静态网站生成器

一些网友应该有些博客的习惯&#xff0c;更高级写法的就搭建自己的网站&#xff0c;在自己的地盘写文章。由于自己比较懒&#xff0c;没有搭建网站&#xff0c;不过收藏了一些网站生成器&#xff0c;拿出来与大家分享一下。 静态网站生成器 Docusaurus Facebook 18年年初刚开源…

Microsoft Azure WebSite创建网站

Microsoft Azure WebSite是Microsoft Azure中PaaS平台既服务到一个重要组件&#xff0c;WebSite具有以下特点&#xff0c;方便我们WEB部署和上线发布 l 入门简单&#xff0c;开始简单&#xff0c;可以按照你的想法扩展&#xff0c;无任何的困难。 l 编码容易&#xff0c;可以使…

企业网站建设为什么要 做手机站,自适应网站有什么优势

随着21世纪移动互联网的盛行&#xff0c;手机站流量占有比例愈发明显&#xff0c;根据统计到目前位置有些行业手机端 流量比例已经超过65%&#xff0c;更有甚者超过80%。那么网站建设就难免面临一个问题&#xff0c;到底 是应该重视手机站还是pc站。如果两个网站的话是不是要两…

织梦网站如何设置404错误页面?

首先在网上搜索织梦系统404错误页面的一个网页或者也可以自己编辑&#xff0c;然后在通过网页编辑器编辑一下这个404网页&#xff0c;然后把里面的网址改为自己的网址&#xff0c;佐言用的是 Macromedia Dreamweaver 8工具编辑的&#xff0c;如下图&#xff1a;第一步、修改404…

爬取五八同城招聘网站上的软件工程师的数据 | 爬虫

本次的模块类似&#xff1a;爬取京东的手机类商品数据 | selenium&#xff0c;但是是使用的requests库和BeautifulSoup库。 1、import from bs4 import BeautifulSoup import pymysql.cursors import requests,urllib.parse,time,datetime2、class Spider: 爬虫源码创建了一…

Nginx 反向代理为什么可以提高网站性能?

2019独角兽企业重金招聘Python工程师标准>>> 作者&#xff1a;张海 链接&#xff1a;https://www.zhihu.com/question/19761434/answer/160935301 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 最高赞回…

如何选择网站服务器:Windows Or Linux

2019独角兽企业重金招聘Python工程师标准>>> 导读关于网站服务器操作系统的选择也是很多站长们的困惑之一&#xff0c;虽然这个选择目前来看可选择的无非也就是 Windows 和Linux 而已&#xff0c;但现实是这是一个有关网站长期规划的重要选择。服务器操作系统可是决…

网站结构优化之URL优化技巧

网站SEO优化中&#xff0c;除了常见的网站TDK三大标签以外&#xff0c;还需要注意网站结构的优化&#xff0c;在网站结构优化中我们需要关注URL优化。那么该注重哪些URL优化技巧呢&#xff1f; 一、URL基础通俗来说URL就是我们常说的网址或者是链接。在SEO中常见的URL如下&…

为何大量网站不能抓取?爬虫突破封禁的6种常见方法

在互联网上进行自动数据采集&#xff08;抓取&#xff09;这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”&#xff0c;有时会把网络数据采集程序称为网络机器人&#xff08;bots&#xff09;。最常用的方法是写一个自动化程序向网络服务器请求…

端口渗透·网站渗透过程 --21 ,22,873,3306,6379,8080(8080端口是针对CMS的渗透)...

声明&#xff1a;文章渗透网站为模拟环境&#xff0c;文章只为利用过程 文章为信息收集和端口渗透两部分&#xff0c;21端口为ftp版本漏洞 8080端口为CMS的渗透 信息收集&#xff1a; 使用扫描工具nmap ,PortScan 对整个网段进行扫描 信息&#xff1a;通过访问网站得到要测试的…

dva开发一个cnode网站(4)

增加分类标签&#xff0c;效果如下&#xff1a;1 修改ListData组件 完整代码&#xff1a; import React , { Component }from react; import { List, Avatar, Icon, Spin ,Tag } from antd; import PropTypes from prop-types; import { connect } from dva; import ./my.css; …

网站主要服务器,网站服务器的主要操作系统

网站服务器的主要操作系统 内容精选换一换首先需要准备一台Linux系统的物理服务器作为镜像制作服务器(即宿主机)。制作x86镜像选用x86服务器&#xff0c;制作ARM镜像选用ARM服务器。宿主机必须安装&#xff1a;vsftpd服务sshd服务vnc服务virt-manager工具kvm虚拟化软件虚拟化管…

五个让你一生受用的资源网站

还在为找不到好的资源网站而发愁吗&#xff0c;这里我就向大家分享一下几个资源满满的资源网站&#xff0c;希望你能喜欢。一、55小说网 55小说网是一个专门看小说的网站&#xff0c;里面拥有海量的小说资源&#xff0c;什么类型的都有&#xff0c;包括修真、玄幻、都市、网游…

五款优质资源网站 每一个都让你欲罢不能

是否还在为找找不到想要的资源而烦恼&#xff0c;是否还在百度上搜索找资源&#xff0c;今天我就给大家分享几个优质的资源网站&#xff0c;希望你能喜欢。一、海盗湾 海盗湾&#xff0c;是一个专注分享高清电影BT种子的资源网站&#xff0c;这里有很多种类型的热门电影资源&a…

五大黑科技资源网站,你想要的这里都有

如今的网上资源是越来越多&#xff0c;你想要的一些资源如影视、小说、音乐的等都可以搜索得到&#xff0c;今天我就向大家分享几个非常丰富的资源网站。 1、恒言中文网 一个小说阅读网站&#xff0c;里面有各种各样的小说供你选择&#xff0c;不管是玄幻还是都市&#xff0c…

五个顶级资源网站 就没有你找不到的

随着互联网的崛起&#xff0c;各种各样的网站也随之出现&#xff0c;一些找稀有的资源也出现在各大网站上&#xff0c;今天我就跟大家分享一下几个资源满满的资源网站。1、起点中文网 这是一个小说阅读网站&#xff0c;里面有着各种类型的小说&#xff0c;像玄幻、都市这种非常…