Apache url重写问题

时间:2010-03-24 21:55:14

标签: php apache url-rewriting

请求----->应该写入新的网址

/ institute / dps -----> /institute.php?slug=dps
/ institute / abc -----> /institute.php?slug=abc
/ institute / 123 -----> /institute.php?slug=123

我在.htaccess中使用以下规则 RewriteRule ^ institute /(.*)$ /institute.php?slug=$1

然而,它不起作用。页面insitute.php获取执行,但查询字符串始终为空。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

这应该有用......如果你试试

RewriteRule ^institute/(.*)$ /institute.php?slug=$1 [R]

它应该正式重定向,你会看到新的URI

如果您没有[R],它会发出正确的请求,但您不会在查询字符串中看到?slug=,但会设置$_REQUEST['slug']

答案 1 :(得分:0)

你打开了.htaccess文件中的重写吗? (在你的RewriteRule之前)

RewriteEngine On

如果是这样 - 您的apache配置是否允许您使用.htaccess文件? (寻找线)

AllowOverride None
你在httpd.conf里面 它应该是

AllowOverride All

最后确保httpd.conf中的url重写模块已打开(可能会被注释掉)

LoadModule rewrite_module modules / mod_rewrite.so