急高分:关于apache URL重写,请教几个问题

xp999 2010-07-30 10:39:21
网页中有<a href='list.php?id=123'>链接</a>
如果URL重写后,能不能自动把网页的链接变成<a href='list-123.html'>链接</a>
这样的链接??
如果能,应该怎么写?

还有
如何把index.php?d=default&c=user&a=register写成default_register.html?
...全文
58 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyzy_yy_pm 2010-07-30
RewriteRule list-([0-9]+)\.htm list.php?id=$1

RewriteRule ([a-z]+)_([a-z]+)\.html\? index.php?d=$1&c=user&a=$2
回复
amani11 2010-07-30
[Quote=引用 10 楼 dingsongtao 的回复:]

把网页里的连接地址也变了,只能在程序里实现.
一般通过ob_start();
在最后将页面内容flush之前,你就把要替换的连接地址都替换了,再输出页面
[/Quote]

嗯,我觉得用一类、或函数控制链接输出,也不错
回复
Dleno 2010-07-30
把网页里的连接地址也变了,只能在程序里实现.
一般通过ob_start();
在最后将页面内容flush之前,你就把要替换的连接地址都替换了,再输出页面
回复
jianglin28290 2010-07-30
[Quote=引用 8 楼 amani11 的回复:]

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

至于生成的静态链接是你在程序里自己写的,规则只是根据你的链接还原而已
回复
amani11 2010-07-30
RewriteRule ^list-([0-9]+)(.*)\.html$ list\.php\?id=$1 [QSA,L]
回复
sun_yao_yao 2010-07-30
新人接分,混眼熟。。。
回复
wisword 2010-07-30
RewriteRule list-([0-9]+)\.htm list.php?id=$1
RewriteRule ([a-z]+)-([a-z]+)\.htm?(.+) index.php?d=$1&a=$2&$3
回复
xuzuning 2010-07-30
不能,你只能编程实现
回复
Alfredknox 2010-07-30
用urlrewrite吧
回复
amani11 2010-07-30
不能自动,链接在程序里控制

rewrite会把符合规则的映射指index.php?d=default&c=user&a=register之类的地方
回复
xp999 2010-07-30
规则怎么写
回复
jianglin28290 2010-07-30
这个是伪静态的内容,你可以创建一个.httaccess文件,里面自己写个正则定义就O啦
回复
c461439564 2010-07-30
还需要配制你的APACHE
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告