如何使用mod_rewrite函数

时间:2010-12-03 16:17:36

标签: apache mod-rewrite url-rewriting

我想知道,我如何才能正确使用php的函数mode_rewrite。 我目前正在开发xampp。我在httpd.conf文件中激活了LoadModule rewrite_module modules/mod_rewrite.so。 我还编辑了以下几行:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

在我的.htaccess文件中,我有以下代码:

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?m=$1 [L]

因此,应将?m=start更改为?start.html。 当我现在打开localhost/page/start.html时,它只显示“它有效”。但为什么不向我展示localhost/page/?m=start的内容?

另一个问题是,如何更改重写规则,我可以通过localhost/page/?m=start&set=update访问localhost/page/start/update.html

谢谢你的回答!

1 个答案:

答案 0 :(得分:1)

您在替换中使用绝对路径/。因此,当在/page/的.htaccess文件中使用此规则时,/page/start.html的请求实际上会被重写为/?m=start而不是/page/?m=start

尝试使用相对路径:

RewriteRule ^([^/]*)\.html$ ./?m=$1 [L]