0

我在 /order/test

当我尝试 /order/test?lala=test&baba=test

public function action_test(){
echo var_dump($_GET);
}

它应该在 var_dump() 中输出 lala=test&baba=test,但它给了我:

array(1) { ["order/test"]=> string(0) "" }

为什么会这样?我怎样才能解决这个问题?

这是我的 htaccess:

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
    Order Deny,Allow
    Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [F,L]

# Allow any files or directories that exist to be displayed directly
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|pdf)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php?$0 [PT,L]
4

2 回答 2

1

这就是我在原始 .htaccess 中的内容:

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

也不要使用 $_GET,但是

$this->request->query()

而不是 HMVC 应用程序。

于 2012-05-10T13:41:02.627 回答
0

将您的重写规则更改为

RewriteRule .* index.php?$0 [PT,L,QSA]
于 2012-05-10T11:15:39.710 回答