2014-12-16 2 views
10

У меня проблема, которой у меня никогда не было, и я не могу найти причину. Я переместил мой сайт на другой хост, и теперь он не «читает» переменные $ _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> 

Im работая на сайте Wordpres, возможно, что-то делать с Permalinks или что-то, Im действительно потерял. Большое спасибо, я ценю вашу помощь.

EDIT

я переименовал мои .htacces так это обыкновение читать и страница сломался, поэтому я пошел на постоянную ссылку настройки WordPress и установить их

- Post Name http://luminias.com/index.php/example-page/ 

и теперь он работает, но теперь это THW URL:

http://whatever.com/index.php/path/?filtro=si&provincia=Santa+Fe&localidad=Rosario

И печатает все $ _GET, но я п ПЕД, что "/index.php/" ушел ..

+0

В каком файле вы хотите перекликаться с этим? Что такое '/ path' Где это точка? – vaso123

+0

Это _full contents_ вашего .htaccess? Включить отчет/отображение ошибок PHP и проверить '$ _GET' с помощью:' var_dump ($ _ GET); '. В верхней части вашего скрипта 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'Если GET не заполняется, вы получите уведомления об неопределенных индексах массива. –

+0

@MichaelBerkowski Спасибо, я сделал это, и это получилось: 'Примечание: Неопределенный индекс: localidad in E: \ kunden \ homepages \ 1 \ d456765835 \ www \ Luminias \ wp-content \ themes \ twentytwelve \ puntosdeventas.php on line 44' И это FEW раз, для каждого получения я звоню во весь файл. –

ответ

2

Добавить add_rewrite_tag функцию в function.php для всех параметров:

function custom_rewrite_tag() { 
     add_rewrite_tag('%localidad%', '([^&]+)'); 
} 
add_action('init', 'custom_rewrite_tag', 10, 0); 

И вы можете позвонить параметр в шаблоне с помощью

$wp_query->query_vars['localidad'] 

Вот full documentation

Обратите внимание, что при использовании $_GET на переписанного URL Wi ll не работает, даже если перезапись включает переменные запроса. Вы должны использовать $wp_query.

+0

Спасибо за ответ, но это не сработало. В моем предыдущем сервере работал замечательно, его метод формы GET тот, кто переписывает URL-адрес, я не понимаю, почему он не работает сейчас. –

+0

Попробуйте использовать метод POST только для цели тестирования и проверьте результат. –

+0

Почему не должен работать параметр $ _GET на переписанном URL-адресе? Сегодня я обновил страницу, которая состояла из переписанных URL-адресов и до сих пор имела доступ к параметрам $ _GET. –

Смежные вопросы