2012-02-03 62 views
0

在这里停下来欣赏帮助。Mod重写和GET数据 - 在一个而不是另一个上工作

使用双选项注册创建网站 - 在电子邮件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=list

如果需要,您可以使用链接#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代码中解析它。

就像一个FYI - _POST似乎没有汗水。同时托管GoDaddy(如果这有所作为)

再次感谢!

+0

刚刚测试过这个。它的URL在这里工作。如果您有权访问apache的'.conf'文件,请启用重写日志记录。通过这样做:'RewriteEngine on' 'RewriteLog/etc/httpd/logs/rewrite.log' 'RewriteLogLevel 9'在你的'VirtualHost'中。 – ThinkingMonkey 2012-02-04 02:43:21

+0

@ThinkingMonkey - 谢谢我会试试 - 今天早上刚刚重试,刷新缓存,但仍然不在这里工作。 – cjtech 2012-02-04 12:10:08

+0

我试了一下,并收到内部服务器错误。我真的很想知道到底发生了什么,总是很失败。 – cjtech 2012-02-04 13:10:33

回答

0

即使第二个URL中的细微变化也会导致重写。我不得不相信重写条件没有得到满足 - 您的系统上可能有一个名为“past_issues”的目录。

+0

RewriteBase中没有一个,我很确定上面的目录中没有一个,但我会检查确定。 – cjtech 2012-02-04 12:11:40

+0

找不到名为past_issues的目录或文件。我想知道GoDaddy是否拥有用于记录旧帐户票据的某种过滤器。所以我想我会重命名数据库中的“文件”。再次感谢! – cjtech 2012-02-04 13:09:01

相关问题