Php .htaccess导致$\u GET返回NULL
我试图通过url将变量从一个页面传递到另一个页面。URL的结构如下所示Php .htaccess导致$\u GET返回NULL,php,.htaccess,url,get,Php,.htaccess,Url,Get,我试图通过url将变量从一个页面传递到另一个页面。URL的结构如下所示http://localhost:8888/test_portfolio?location=ignite_rockford 以下是我的.htaccess文件中的相关信息: Options -MultiViews <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond
http://localhost:8888/test_portfolio?location=ignite_rockford
以下是我的.htaccess
文件中的相关信息:
Options -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ %{REQUEST_FILENAME}.php?/$1?$1=$1
</IfModule></code>
选项-多视图
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$%{REQUEST_FILENAME}.php?/$1?$1=$1
问题似乎出在这一行:RewriteRule^(.*)$%{REQUEST_FILENAME}.php?/$1?$1=$1
,但我不知道该怎么办。如果我在test\u公文包之后添加.php
,那么它会工作,但如果我转储$\u GET['location']
时,我会得到NULL
哦,是的,我正在用$location=$\u GET[“location”]检索$\u GET
代码>
任何帮助都将不胜感激。如果您只是试图删除.php
,您只需添加它并用[QSA]
标记复制查询字符串:
RewriteRule ^(.*)$ $1.php [QSA]
您的URL将来自:
/test
到/test.php?/test?test=test
您确定这是您想要的吗?(除其他外,它看起来格式不正确)
通常,您会编写一个路由器,如:
RewriteRule ^(.*)$ router.php?__url=$1 [QSA]
这将为您提供一个带有原始路径的GET
参数\uu url
[QSA]
将允许您仍然接受所有原始查询参数,如位置
重写cond%{REQUEST\u FILENAME}-f
负责匹配文件-d
对目录也有同样的作用。非常感谢。我感谢你的帮助。