Mod_rewrite,$ _GET不传递变量

时间:2013-02-01 21:28:23

标签: mod-rewrite get

我正在尝试制作

domain.com/notalone/viewpost/5/ 

充当

domain.com/notalone/viewpost.php?id=5

我现在的.htaccess是这样的:

RewriteEngine On

RewriteRule ^notalone/viewpost/([0-9]+)/?$ /viewpost.php?id=$1 [QSA]

目前,当您访问/notalone/viewpost/5/未通过$_GET['id']

时,页面会正确加载

我尝试过的事情

  • 添加Options -Multiviews ---> 结果在404
  • 使用Rewritebase / ---> 无影响
  • RewriteRule ^viewpost/([0-9]+)/?$ /viewpost.php?id=$1 [QSA] ---> 无影响

2 个答案:

答案 0 :(得分:0)

尝试添加传递标记,如下所示:

RewriteRule ^notalone/viewpost/([0-9]+)/?$ /viewpost.php?id=$1 [QSA,PT]

'PT'调整内部URL,以便后面的处理程序查看mod_rewrite工作的结果,而不是原始URL。

答案 1 :(得分:0)

解决了这个问题。问题显然是我的目录的问题,因为当我将网站移动到它自己的主机(它自己的根目录而不是notalone子目录)时,一切似乎都像魅力一样。