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中文网其他相关文章!

Apachebecamefamousduetoitsopen-sourcenature,modulardesign,and strongcommunitysupport.1)ITSOPEN-SOPEN-SOURCEMODELANDELANDPERMISSIVEPEPEPIRENESENESCORENDECERAGEDWIDEDWIDESPREADADOPTION.2)tHEMODECTURALACTARACTIOLARACTURARACTURARACTURARACTURARACTERTURELALARTARACTEXIVEDEDENEXIVECUSTOMASTACTOPATAPATATSICATS.3)

Apache的性能和灵活性使其在Web服务器中脱颖而出。1)性能优势体现在高效处理和可扩展性,通过多进程和多线程模型实现。2)灵活性源于模块化设计和配置的灵活性,允许根据需求加载模块并调整服务器行为。

当 Apache 80 端口被占用时,解决方法如下:找出占用该端口的进程并关闭它。检查防火墙设置以确保 Apache 未被阻止。如果以上方法无效,请重新配置 Apache 使用不同的端口。重启 Apache 服务。

Apache 无法启动,原因可能有以下几点:配置文件语法错误。与其他应用程序端口冲突。权限问题。内存不足。进程死锁。守护进程故障。SELinux 权限问题。防火墙问题。软件冲突。

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

有 3 种方法可在 Apache 服务器上查看版本:通过命令行(apachectl -v 或 apache2ctl -v)、检查服务器状态页(http://<服务器IP或域名>/server-status)或查看 Apache 配置文件(ServerVersion: Apache/<版本号>)。

要重启 Apache 服务器,请按照以下步骤操作:Linux/macOS:运行 sudo systemctl restart apache2。Windows:运行 net stop Apache2.4 然后 net start Apache2.4。运行 netstat -a | findstr 80 检查服务器状态。

要从 Apache 中删除多余的 ServerName 指令,可以采取以下步骤:识别并删除多余的 ServerName 指令。重新启动 Apache 使更改生效。检查配置文件验证更改。测试服务器确保问题已解决。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3汉化版
中文版,非常好用

Dreamweaver Mac版
视觉化网页开发工具