请教:linux下的.htaccess的二级目录伪静态规则怎么写(附根目录规则)

请教:linux下的.htaccess的二级目录伪静态规则怎么写(附根目录规则),第1张

RewriteEngine on

RewriteBase /link#如果您放在二缓目录下, 此处填写二级名称

RewriteRule ^catalog/(.*)_(.*).htm catalog\.php\?id=$1&pg=$2

RewriteRule ^catalog/(.*).htm catalog\.php\?id=$1

RewriteRule ^article/(.*).htm article\.php\?id=$1

RewriteRule ^tag/(.*) s\.php\?word=$1

RewriteRule ^tieba/list/(.*).htm catalog_tieba\.php\?id=$1

RewriteRule ^tieba/list/(.*)_(.*).htm catalog_tieba\.php\?id=$1&pn=$2

RewriteRule ^tieba/view/(.*).htm article_tieba\.php\?id=$1

利用.htaccess文件对PHP网站进行伪静态处理要考虑两点:

一.服务器支持伪静态,比如Apache要开启mod_rewrite模块支持

二.利用.htaccess完成伪静态需要根据不同的网站系统进行不同的设置,以下是一些常见系统的.htaccess设定:

01.wordpress:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

02.Phpwind

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)-htm-(.*)$ $1.php?$2

RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2

03.Discuz

RewriteEngine On

# Rewrite 系统规则请勿修改

RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2

RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2

RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

04.ecshop

RewriteEngine On

# direct one-word access

RewriteRule ^index\.html$ index\.php [L]

RewriteRule ^category$ index\.php [L]

# access any object by its numeric identifier

RewriteRule ^feed-c([0-9]+)\.xml$ feed\.php\?cat=$1 [L]

RewriteRule ^feed-b([0-9]+)\.xml$ feed\.php\?brand=$1 [L]

RewriteRule ^feed\.xml$ feed\.php [L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ category\.php\?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5&page=$6&sort=$7&order=$8 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)(.*)\.html$ category\.php\?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ category\.php\?id=$1&brand=$2&page=$3&sort=$4&order=$5 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$ category\.php\?id=$1&brand=$2&page=$3 [QSA,L]

RewriteRule ^category-([0-9]+)-b([0-9]+)(.*)\.html$ category\.php\?id=$1&brand=$2 [QSA,L]

RewriteRule ^category-([0-9]+)(.*)\.html$ category\.php\?id=$1 [QSA,L]

RewriteRule ^goods-([0-9]+)(.*)\.html$ goods\.php\?id=$1 [QSA,L]

RewriteRule ^article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ article_cat\.php\?id=$1&page=$2&sort=$3&order=$4 [QSA,L]

RewriteRule ^article_cat-([0-9]+)-([0-9]+)(.*)\.html$ article_cat\.php\?id=$1&page=$2 [QSA,L]

RewriteRule ^article_cat-([0-9]+)(.*)\.html$ article_cat\.php\?id=$1 [QSA,L]

RewriteRule ^article-([0-9]+)(.*)\.html$ article\.php\?id=$1 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)\.html brand\.php\?id=$1&cat=$2&page=$3&sort=$4&order=$5 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html brand\.php\?id=$1&cat=$2&page=$3 [QSA,L]

RewriteRule ^brand-([0-9]+)-c([0-9]+)(.*)\.html brand\.php\?id=$1&cat=$2 [QSA,L]

RewriteRule ^brand-([0-9]+)(.*)\.html brand\.php\?id=$1 [QSA,L]

RewriteRule ^tag-(.*)\.html search\.php\?keywords=$1 [QSA,L]

RewriteRule ^snatch-([0-9]+)\.html$ snatch\.php\?id=$1 [QSA,L]

RewriteRule ^group_buy-([0-9]+)\.html$ group_buy\.php\?act=view&id=$1 [QSA,L]

RewriteRule ^auction-([0-9]+)\.html$ auction\.php\?act=view&id=$1 [QSA,L]

05.phpcms

RewriteEngine On

RewriteRule ^(.*)content-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=

$3&page=$4

RewriteRule ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=

$3&page=$4

RewriteRule ^(.*)list-([0-9]+)-([0-9]+).html$ $1/index\.php\?m=content&c=index&a=lists&catid=$2&page=$3

.htaccess是apache的伪静态文件了,不过普通人不熟悉linux,不熟悉apache,可能都用惯了iis,可是又不懂伪静态规则,现在项目就只提供了这么一个.htaccess文件,真叫人苦恼吧。方案来了,彻底解决你的苦恼,让伪静态妥妥的,windows7,windows8,windows8.1,windows2008-2012都是妥妥的。

工具/原料

url重写

iis7

方法/步骤

安装iis,这个就不多说了。使用系统自带的启动或关闭windows功能来安装。

http://www.microsoft.com/web/downloads/,下载并安装“web 平台安装程序”,目前最新版本为5.0,双击,下一步到底即可。

打开Internet Information Services(IIS)管理器,在管理中已经多了一个“Web 平台安装程序”,双击打开。

搜索“url”,搜索结果第一个"URL 重写工具2.0",点击该记录后面的添加,再点击下方的安装按钮,还是一步到底,完成之后,重启下iis管理器。

iis管理器下发现多了一个“url重写”即安装成功了。接下来就是如何使用.htaccess文件了。找一个需要伪静态的项目,例如888,然后再双击“url重写”。

找到右侧菜单中的导入规则。

点击浏览,找到要使用的.htaccess文件,单击导入

点击右侧的“应用”,重新项目888或者是iis,查看下伪静态规则是否生效。

END

注意事项

安装"web平台安装程序”时会出现一些别的问题,自己在搜索下,一般就是安装一些必要的插件之类的,按照提示操作下即可。

url重写其实就是将.htaccess规则导入变成iis能识别的伪静态规则,底层生成的还是httpd.ini文件,不懂伪静态不要紧,只要会操作,一样是高手。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/727495.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-10
下一篇2023-08-10

发表评论

登录后才能评论

评论列表(0条)

    保存