使用htaccess文件重写动态URL

时间:2012-11-12 13:19:08

标签: php .htaccess url

我想显示此网址

http://localhost/project/sites/sample/cat.php?typ=Politics

喜欢这个

http://localhost/project/sites/sample/Politics.html

我的htaccess代码是

RewriteEngine on
RewriteRule (.*)\.html$ cat.php?typ=$1

当我在浏览器上手动输入url时它正在工作,但是url没有动态加载。如果我点击第一个网址,我想显示第二个网址动态。 谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

试试这条规则:

RewriteEngine on
RewriteRule (.*).html$ cat.php?typ=$1

答案 1 :(得分:1)

RewriteRule更改为Redirect

RewriteEngine on
Redirect (.*)\.html$ cat.php?typ=$1

*顺便说一下,“typ”写成“type”

答案 2 :(得分:1)

如果您想将第一个网址重定向到第二个网址:

RewriteCond %{QUERY_STRING} ^typ=([a-zA-Z0-9_-]+)$
RewriteRule ^cat\.php$ cat/%1/? [R,L]

如果您要修改HTML中的链接,可以尝试mod_substitute(确保mod_filter也已启用):

AddOutputFilterByType SUBSTITUTE text/html
Substitute s|/?cat\.php\?typ=([a-zA-Z0-9_-]+)|/cat/$1/|i

答案 3 :(得分:1)

如果您手动输入新链接,它可以正常工作吗?

只需将您的html链接指向“Politics.html”而不是“cat.php?typ = Politics” htaccess将负责其余的