2011-05-12 93 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