首页 运维 Apache htaccess 伪静态规则

htaccess 伪静态规则

Oct 18, 2019 am 09:31 AM
apache htaccess 伪静态

htaccess 伪静态规则

htaccess伪静态规则

.htaccess文件提供了针对目录改变配置的方法, 是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

伪静态实际上是利用PHP把当前地址解析成另外一种方法进行访问网站!要学伪静态规则的写法,你必须得懂一点正则。

一、正则表达式教程

简单罗列如下:

.   换行符以外的所有字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,}重复n次或更多次
{n,m} 重复n到m次
登录后复制

二、常见的.htaccess应用举例

1 防止盗链,如果来得要访问jpe jpg bmp png结尾的url 用户不是来自我们的网站,那么让他看一张我们网站的展示图片。

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
登录后复制

2 网站升级的时候,只有特定IP才能访问,其他的用户将看到一个升级页面

RewriteEngine on
RewriteCond %{REQUEST_URI} !/upgrade.html$RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30
RewriteRule $ http://www.linuxidc.com/upgrade.html [R=302,L]
登录后复制

3 把老的域名转向新域名

# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$http://www.yourdomain.com/$1[R=301,L]
登录后复制

三、常用示例

比如:http://www.yzzmf.com/index.html -> http://www.yzzmf.com/index.php

RewriteEngine On
RewriteRule index.html index.php
登录后复制

比如:http://www.yzzmf.com/test8.html -> http://www.yzzmf.com/test.php?id=8

RewriteRule ^test([0-9]*).html$ test.php?id=$1
登录后复制

比如:http://www.yzzmf.com/cat-1-3.html -> http://www.yzzmf.com/cat.php?id1=1&id2=3

RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&id2=$2
登录后复制

比如:http://www.yzzmf.com/cat-zbc2ac-3-5.html -> http://www.yzzmf.com/cat.php?id0=zbc2ac&id1=3&id2=5

RewriteRule ^cat-([a-zA-Z0-9\-]*)-([0-9]+)-([0-9]+)\.html$ cat.php?id0=$1&id1=$2&id2=$3
登录后复制

比如:http://www.yzzmf.com/cat1-4-3-8.html -> http://www.yzzmf.com/cat1.php?id1=4&id2=3&id3=8

RewriteRule ^cat1-([0-9]+)-([0-9]+)-([0-9]+)\.html$ cat1.php?id1=$1&id2=$2&id3=$3
登录后复制

比如:http://www.yzzmf.com/cat5/ -> http://www.yzzmf.com/cat.php?id1=5

RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1
登录后复制

比如:http://www.yzzmf.com/catm6/3/ -> http://www.yzzmf.com/catm.php?id1=6&id2=3

RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&id2=$2
登录后复制

希望对大家有所帮助!

推荐教程:apache教程

以上是htaccess 伪静态规则的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

h5项目怎么运行 h5项目怎么运行 Apr 06, 2025 pm 12:21 PM

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

xml怎么导出pdf xml怎么导出pdf Apr 03, 2025 am 06:45 AM

导出 XML 为 PDF 有两种方法:使用 XSLT 和使用 XML 数据绑定库。XSLT:创建 XSLT 样式表,指定 PDF 格式使用 XSLT 处理器转换 XML 数据XML 数据绑定库:导入 XML 数据绑定库创建 PDF 文档对象加载 XML 数据导出 PDF 文件哪种方法更好取决于需求。XSLT 提供灵活性,而数据绑定库实现简单;对于简单转换,数据绑定库更好,对于复杂转换,XSLT 更合适。

pom.xml怎么生成 pom.xml怎么生成 Apr 03, 2025 am 06:00 AM

生成 pom.xml 文件有以下方法:使用 Maven Archetype,提供预定义的项目模板,自动生成特定类型项目的 pom.xml 文件。使用 Maven Helper 插件,提供生成 pom.xml 文件的命令。手动创建,自定义构建项目的 pom.xml 文件。

如何在服务器端设置字符编码以解决Bootstrap Table乱码 如何在服务器端设置字符编码以解决Bootstrap Table乱码 Apr 07, 2025 pm 12:00 PM

要在服务器端设置字符编码以解决 Bootstrap Table 乱码,需要按以下步骤进行:检查服务器字符编码;编辑服务器配置文件;设置字符编码为 UTF-8;保存并重启服务器;验证编码。

如何检查Debian OpenSSL配置 如何检查Debian OpenSSL配置 Apr 12, 2025 pm 11:57 PM

本文介绍几种检查Debian系统OpenSSL配置的方法,助您快速掌握系统安全状态。一、确认OpenSSL版本首先,验证OpenSSL是否已安装及版本信息。在终端输入以下命令:opensslversion若未安装,系统将提示错误。二、查看配置文件OpenSSL主配置文件通常位于/etc/ssl/openssl.cnf。您可以使用文本编辑器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密钥、证书路径及加密算法等重要配置信息。三、利用ope

无法在 xampp 中启动 mysql 无法在 xampp 中启动 mysql Apr 08, 2025 pm 03:15 PM

XAMPP启动MySQL失败的原因有多种,包括端口冲突、配置文件错误、系统权限不足、服务依赖问题和安装问题。排查步骤如下:1)检查端口冲突;2)检查配置文件;3)检查系统权限;4)检查服务依赖;5)重新安装MySQL。遵循这些步骤,您可以找到并解决导致MySQL启动失败的问题。

如何利用Debian Apache日志提升网站性能 如何利用Debian Apache日志提升网站性能 Apr 12, 2025 pm 11:36 PM

本文将阐述如何通过分析Debian系统下的Apache日志来提升网站性能。一、日志分析基础Apache日志记录了所有HTTP请求的详细信息,包括IP地址、时间戳、请求URL、HTTP方法和响应代码等。在Debian系统中,这些日志通常位于/var/log/apache2/access.log和/var/log/apache2/error.log目录下。理解日志结构是有效分析的第一步。二、日志分析工具您可以使用多种工具分析Apache日志:命令行工具:grep、awk、sed等命令行工具可

apache中cgi目录怎么设置 apache中cgi目录怎么设置 Apr 13, 2025 pm 01:18 PM

要在 Apache 中设置 CGI 目录,需要执行以下步骤:创建 CGI 目录,如 "cgi-bin",并授予 Apache 写入权限。在 Apache 配置文件中添加 "ScriptAlias" 指令块,将 CGI 目录映射到 "/cgi-bin" URL。重启 Apache。

See all articles