初学者的apache mod_rewrite帮助

时间:2010-05-27 11:54:24

标签: apache mod-rewrite

我对apache mod_rewrite并不熟悉。

我有网址参数,例如{domain}/index.php?blog=5

我只是想让它成为{domain}/home.php?client=5

这是一项听起来很简单的任务吗?任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

以下可能有效,请尝试

RewriteCond %{REQUEST_URI} ^/home.php [NC]
RewriteCond %{QUERY_STRING} client=([0-9]+) [NC]
RewriteRule (.*) http://%{REMOTE_HOST}/index.php?blog=%1 [L]

答案 1 :(得分:0)

这看起来很简单,说实话 - 一旦你进入mod_rewrite,它就不那么复杂了。

听起来你想要添加

RewriteEngine on
RewriteRule ^/index.php?blog=(.+)$ /home.php?client=$1

到你的配置。

一些警告:

  • 如果您将其放在.htaccess文件中,请从/行中删除RewriteRule
  • 如果您想使此不区分大小写,请将[NC]添加到同一行的末尾。
  • 如果您希望用户看到网址更改(以便向浏览器发送302 Found重定向),请将[R]添加到RewriteRule行的末尾。
  • 如果您希望302 Found和网址区分大小写,请将[NC,R]行末尾的两条说明合并为RewriteRule

绝对值得阅读mod_rewrite docs,但上面的规则应该就是这个用例所需的全部内容。