我正在使用PHP Fat-Free框架( http://fatfree.sourceforge.net/ )开发一个网站,我需要使用GETvariables,但他们不会parsing,因为我使用Mod重写。
这是我的.htaccess文件的当前状态:
# Enable rewrite engine and route requests to framework RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L,QSA]
目前,我可以通过去www.domain.com/mypage请求框架页面,但我需要使用诸如www.domain.com/mypage?variable=xyz
无论如何,我可以去做这件事吗? 提前致谢!
编辑:
我使用了3级的重写日志,并要求www.domain.com/?x=1,这是日志中的内容:
::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2054260/initial] (3) [perdir D:/Development/xampplite/htdocs/] strip per-dir prefix: D:/Development/xampplite/htdocs/ -> ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2054260/initial] (3) [perdir D:/Development/xampplite/htdocs/] applying pattern '.*' to uri '' ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2054260/initial] (1) [perdir D:/Development/xampplite/htdocs/] pass through D:/Development/xampplite/htdocs/ ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#205a278/subreq] (3) [perdir D:/Development/xampplite/htdocs/] strip per-dir prefix: D:/Development/xampplite/htdocs/index.php -> index.php ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#205a278/subreq] (3) [perdir D:/Development/xampplite/htdocs/] applying pattern '.*' to uri 'index.php' ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#205a278/subreq] (1) [perdir D:/Development/xampplite/htdocs/] pass through D:/Development/xampplite/htdocs/index.php ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (3) [perdir D:/Development/xampplite/htdocs/] strip per-dir prefix: D:/Development/xampplite/htdocs/favicon.ico -> favicon.ico ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (3) [perdir D:/Development/xampplite/htdocs/] applying pattern '.*' to uri 'favicon.ico' ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (2) [perdir D:/Development/xampplite/htdocs/] rewrite 'favicon.ico' -> 'index.php' ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (3) [perdir D:/Development/xampplite/htdocs/] add per-dir prefix: index.php -> D:/Development/xampplite/htdocs/index.php ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (2) [perdir D:/Development/xampplite/htdocs/] trying to replace prefix D:/Development/xampplite/htdocs/ with / ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#2058270/initial] (1) [perdir D:/Development/xampplite/htdocs/] internal redirect with /index.php [INTERNAL REDIRECT] ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#3b68870/initial/redir#1] (3) [perdir D:/Development/xampplite/htdocs/] strip per-dir prefix: D:/Development/xampplite/htdocs/index.php -> index.php ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#3b68870/initial/redir#1] (3) [perdir D:/Development/xampplite/htdocs/] applying pattern '.*' to uri 'index.php' ::1 - - [21/Aug/2010:21:09:28 +1200] [localhost/sid#1545150][rid#3b68870/initial/redir#1] (1) [perdir D:/Development/xampplite/htdocs/] pass through D:/Development/xampplite/htdocs/index.php
不知道这是否有帮助?
这不完全是QSA的工作方式,请看这里flags_qsa 。 我想你需要捕获新的查询string,你没有一个现有的。
尝试这样的事情
# Enable rewrite engine and route requests to framework RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php?$1 [L,QSA]
根据重写规则的位置,您可能需要添加前导/到index.php?$1 。
QSA旗帜应该已经照顾到了这一点。 激活你的RewriteLog ,看看这些URL是如何在内部重写的。