Mod Rewrite和GET数据-适用于其中一种,但不适用于另一种


Mod Rewrite and GET data - works on one but not another

来到这里,感谢您的帮助。

创建一个具有双重optin注册的网站-在电子邮件URL中使用_GET来完成订阅。订阅后,我有一个链接,允许他们使用_GET 访问过期问题

  1. 电子邮件中的链接如下所示:http://173.201.224.43/Jason_Borjeson/jeba2012/site/subscription_manager?act=1&h=a2df4b90c3fc3d061838661886e321d1
  2. 网页上的链接看起来像:http://173.201.224.43/Jason_Borjeson/jeba2012/site/past_issues?c=17&a=列表

如果需要,您可以使用链接#1访问链接#2(表格数据中表单按钮右侧的紫色文本链接),因为该网站仍在开发中。

网站上的所有页面都通过mod_rewrite运行#上面的1起作用,而#2产生404(服务器声明,而不是php/数据库生成)。

介于/和之间的文本?用于从数据库中选择页面,而后面的变量是?用于显示其他信息。

htaccess文件如下:

    RewriteEngine On
RewriteBase /Jason_Borjeson/jeba2012/site/
RewriteRule ^index'.php$ - [L]
RewriteRule ^css/css'.css$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

链接#1按预期通过了这个过程,但链接#2似乎从裂缝中滑了出来。如果我对规则进行QSA,我会在两者上都得到一个内部服务器错误。

我只想传递所有信息,并在我的php代码中对其进行解析。

就像一个仅供参考的_POST似乎是工作没有出汗。也在GoDaddy上托管(如果这有区别的话)

再次感谢!

即使第二个URL发生了最轻微的更改,也会启动重写。我不得不相信重写条件没有得到满足——你的系统上可能有一个名为"past_issues"的目录。