2014-12-16 6 views
10

Mam problem, którego nigdy nie miałem i nie mogę znaleźć przyczyny. Przeniosłem moją witrynę do innego hosta, a teraz nie "odczytuje" zmiennych $ _GET.

Mam ten link: http://whatever.com/path?filtro=si&provincia=Santa+Fe&localidad=Rosario A jeśli zadzwonię to:

$localidad = $_GET['localidad']; 
$provincia = $_GET['provincia']; 
$filtro = $_GET['filtro']; 

echo $localidad; 
echo "hola"; 
echo $provincia; 
echo $filtro; 

nie drukuje z wyjątkiem "hola", więc nie ma błędu w PHP. Oto mój .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 pracuje na miejscu Wordpres, może to ma coś wspólnego z Permalinks czy coś, jestem naprawdę utracone. Dziękuję bardzo, doceniam twoją pomoc.

EDIT

I przemianowany moje .htacces więc przyzwyczajenie go czytać, a strona złamał, więc poszedłem do permalink ustawienia w wordpress i ustawić je do

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

A teraz to działa, ale teraz to jest THW url:

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

I drukuje wszystkie $ _GET, ale n EED że "/index.php/" gone ..

+0

W pliku, który chcesz powtórzyć? Co to jest '/ path' Gdzie to jest punkt? – vaso123

+0

To są _full content_ twojego .htaccess? Włącz raportowanie/wyświetlanie błędów PHP i sprawdź '$ _GET' za pomocą:' var_dump ($ _ GET); '. U góry skryptu 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'Jeśli GET nie jest wypełniony, otrzymasz powiadomienia o niezdefiniowanych indeksach tablicowych. –

+0

@ Michael Heller dzięki, zrobiłem to i to wyszło: 'Uwaga: Niezdefiniowany indeks: localidad w E: \ kunden \ strony główne \ 1 \ d456765835 \ www \ Luminias \ wp-content \ themes \ twentytwelve \ puntosdeventas.php on line 44' A to FEW razy, za każdym razem, gdy wezwę cały plik. –

Odpowiedz

2

Dodaj add_rewrite_tag funkcję w swojej function.php dla wszystkich parametrów:

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

I można połączyć się za pomocą parametru w szablonie

$wp_query->query_vars['localidad'] 

Oto full documentation

Należy pamiętać, że stosując $_GET na przepisany URL wi Nie zadziała, nawet jeśli przepisanie zawiera zmienne kwerendy. Musisz użyć $wp_query.

+0

Dzięki za odpowiedź, ale to nie zadziałało. W moim poprzednim serwerze działało cudownie, jego metoda formularza POBIERZ tego, który przepisuje adres URL, nie rozumiem dlaczego teraz nie działa –

+0

Spróbuj użyć metody POST tylko do testowania celu i sprawdź wynik. –

+0

Dlaczego nie powinien działać parametr $ _GET na dokładnie przepisany adres URL? Dzisiaj zaktualizowałem stronę, która składała się z przepisanego adresu URL i nadal miała dostęp do parametrów $ _GET. –