这是我的网址:“http://www.example.com/page?code=2028555689”但是当我运行此代码时:
echo '<script>alert("'.$_SERVER['REQUEST_URI'].'");</script>';
echo '<script>alert("'.$_GET['code'].'");</script>';
第一个警告框显示:/page?code=2028555689
,但第二个警告框为空。
为什么我无法使用code
检索$_GET
的值?第一个警告框是测试.htaccess
文件是否存在问题,但显然没有。
以下是.htaccess
文件的内容:
Options -Multiviews -Indexes
# Disable Automatic Directory detection
DirectorySlash Off
RewriteEngine On
# Remove trailing slashes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/+$ $1 [R=301,L]
# Redirect to www version of site
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Remove page extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [L]
# Remove index from URL
RewriteRule ^index$ / [R=301,L]
答案 0 :(得分:0)
我认为$_GET
无法检索任何内容的原因是因为我的404页面会动态生成内容。即使我已经编写了一些代码来生成200状态,$_GET
仍然无法检索任何内容。只要没有缓存页面,就会始终调用404页面。解决方案很简单,不使用$_GET
。我现在通过strtok
调用$_SERVER['REQUEST_URI']
来检索$_GET
数据。