我遇到了一个我从来没有过的问题,我无法找到原因。 我将我的网站移动到另一个主机,现在它没有"阅读" $ _GET变量。
我有这个网址:http://whatever.com/path?filtro=si&provincia=Santa+Fe&localidad=Rosario 如果我这样称呼:
$localidad = $_GET['localidad'];
$provincia = $_GET['provincia'];
$filtro = $_GET['filtro'];
echo $localidad;
echo "hola";
echo $provincia;
echo $filtro;
除了" hola"之外什么都不打印,所以没有PHP错误。 这是我的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我在一个Wordpres网站上工作,也许它与永久链接有什么关系,我真的迷路了。非常感谢,感谢您的帮助。
修改
我重新命名了我的.htacces,所以它不会读取它并且页面坏了,所以我去了wordpress中的永久链接设置并将它们设置为
- Post Name http://luminias.com/index.php/example-page/
现在它工作了,但是,现在这是你的网址:
http://whatever.com/index.php/path/?filtro=si&provincia=Santa+Fe&localidad=Rosario
它会打印所有$ _GET,但我需要&#34; /index.php /"走了..
答案 0 :(得分:2)
在function.php中为所有参数添加add_rewrite_tag
函数:
function custom_rewrite_tag() {
add_rewrite_tag('%localidad%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
您可以使用
在模板中调用参数$wp_query->query_vars['localidad']
请注意,在重写的网址上使用
$_GET
将无效,即使是 rewrite包含查询字符串变量。您必须使用$wp_query
。