请求----->应该写入新的网址
/ 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获取执行,但查询字符串始终为空。
有什么建议吗?
答案 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