Mod重写将整个REQUEST_URI放入GET请求中

时间:2016-08-12 19:00:37

标签: php .htaccess mod-rewrite

我正在尝试将整个Request_Uri传递给$ _GET请求但是它唯一传递的内容是' test.php'

Htaccess code
RewriteEngine on
RewriteRule ^(.*)$ test.php?data=$1 [L]

test.php
<?php
echo $_GET['data'];
?>

但它唯一显示的是&#39; test.php&#39;我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用此:

RewriteEngine on

# skips files
RewriteCond %{REQUEST_FILENAME} !-f
# skips directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ test.php?data=$1 [L,QSA]

如果没有这两个条件,您的规则就会运行两次,因为您匹配.*并且您将URI test.php重写为GET参数。