2011-05-12 98 views
2

我曾经在我的项目一个htaccess使用笨框架:.htaccess的笨问题

的DirectoryIndex index.php文件

RewriteEngine on 

RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) [NC] 

RewriteCond %{REQUEST_FILENAME} !-f [NC] 

RewriteCond %{REQUEST_FILENAME} !-d [NC] 

RewriteRule ^(.*)$ ./index.php/$1 [NC,L,QSA] 

我的问题是,当我叫贝宝服务,对我来说是GET响应贝宝网址如下: http://xxx.xx.com/myproject/paypalCallback?tx=32J30607S6157364F&st=Pending&amt=85.00&cc=SGD&cm=&item_number=

我收到一个404页面未找到。 Htaccess不接受GET URL:?tx = 32J30607S6 ... 我确定它是在本地工作,但不在实况端

如果可以,请帮助我。 感谢

+0

嗨,欢迎来到StackOverflow!请正确格式化您的代码。谢谢!要了解如何操作,请单击橙色问号http://i.i.imgur.com/BApIf.png – Trufa 2011-05-12 19:14:38

+0

您使用的CI版本是什么?查看url参数设置的配置文件。 – 2011-05-12 20:17:51

+0

没有查询字符串的URL(接下来的'?')工作? – leonbloy 2011-05-12 20:49:09

回答

1

是这部作品在CI

你仍然可以访问查询字符串,如果他们在CI禁用,试试这个代码

从URL

删除的index.php
RewriteEngine On 

RewriteCond %{REQUEST_URI} ^system.* 

RewriteRule ^(.*)$ /index.php/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php/$1 [L] 

,如果你有CI应用程序在子目录使用

RewriteBase /f2f/f2fweb 
+0

你必须使用你自己的目录:) – 2011-05-13 12:54:16

1

一个可能的工作,你可以尝试是把你的基本目录的纯PHP文件名为paypalcallback.php或东西连同下面的这些代码行的事情:

$tx = $_GET['tx']; 
$st = $_GET['st']; 
$amt = $_GET['amt']; 
... etc ... 

header("location:/myproject/papalCallback/$tx/$st/$amt"); 
exit; 

它基本上读取查询字符串并转换为网址段。通常它比查询字符串和创建奇特的重写规则更容易。我使用它来链接到CKeditor中的图像管理器,因为它需要回调中的查询字符串变量。

我想大多数这将取决于HTTP标题代码是否重要。

1

您需要启用的application/config/config.php文件或启用查询字符串 '?'字符$配置[“permitted_uri_chars”]

0

首先,T你好,我的朋友,

我尝试关注你所有的帖子。最后,我找到了适合我的案例的正确方法,非常简单。 我改变htacces文件是这样的:

RewriteRule ^(.*)$ ./index.php?/$1 [NC,L,QSA] 

你看,我插入 '?'在'/'之前。它会接受我的网址..paypalCallback /?tx = 123213。

这是工作。可能是我很幸运^^

无论如何,感谢您的帮助

干杯,

0

以下步骤google搜索后几个小时的工作对我来说:

  1. 在应用/ config/config.php我用这个改变

    $config['enable_query_strings'] = TRUE; 
        $config['index_page'] = ""; 
    
  2. 在.htaccess

    RewriteEngine on 
    RewriteCond $1 !^(index\.php|application|media|images|robots\.txt) 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 
    
  3. 在/system/libraries/URI.php

就是这样。我采取了这些解决方案之一从http://dragffy.com/blog/posts/codeigniter-17-the-uri-you-submitted-has-disallowed-characters