2014-12-16 9 views
10

मुझे कोई समस्या है जो मैंने कभी नहीं की थी और मुझे कारण नहीं मिला। मैंने अपनी साइट को दूसरे होस्ट में ले जाया और अब यह $ _GET चर "पढ़ा" नहीं है।

मैं इस यूआरएल है: http://whatever.com/path?filtro=si&provincia=Santa+Fe&localidad=Rosario और अगर मैं इस फोन: "hola" को छोड़कर

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

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

कुछ भी नहीं है प्रिंट, इसलिए कोई पीएचपी त्रुटि है। यहाँ मेरी .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 नाम दिया तो यह अभ्यस्त इसे पढ़ा और पेज को तोड़ दिया, तो मैं वर्डप्रेस में सेटिंग्स permalink और उन्हें

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

करने के लिए सेट के लिए गया था और अब यह काम करता है, लेकिन, अब यह thw यूआरएल है:

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

और यह सब $ _GET, लेकिन मैं n प्रिंट eed कि "/index.php/" चला गया ..

+0

wich फ़ाइल में आप इसे echo करना चाहते हैं? 'पथ' कहां है यह कहां है? – vaso123

+0

वे आपके .htaccess की _full content_ हैं? PHP की त्रुटि रिपोर्टिंग/डिस्प्ले सक्षम करें और 'var_dump ($ _ GET) के साथ '$ _GET' का निरीक्षण करें;'। आपकी स्क्रिप्ट के शीर्ष पर 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'यदि GET पॉप्युलेट नहीं किया गया है, तो आपको अपरिभाषित सरणी इंडेक्स के बारे में नोटिस मिलेंगे। –

+0

@MichaelBerkowski धन्यवाद, मैंने ऐसा किया और यह आया: 'नोटिस: अपरिभाषित अनुक्रमणिका: ई में स्थानीयडाड: \ kunden \ homepages \ 1 \ d456765835 \ www \ Luminias \ wp-content \ themes \ twentytwelve \ puntosdeventas.php लाइन पर 44' और यह कुछ बार, प्रत्येक फ़ाइल के लिए मैं पूरी फ़ाइल में कॉल करता हूं। –

उत्तर

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'] 

यहाँ full documentation

नोट है कि एक फिर से लिखा यूआरएल वाई पर $_GET का उपयोग कर काम नहीं करेगा, भले ही फिर से लिखने में क्वेरीस्ट्रिंग चर शामिल हों। आपको $wp_query का उपयोग करना होगा।

+0

उत्तर के लिए धन्यवाद, लेकिन यह काम नहीं किया। मेरे पिछले सर्वर में अद्भुत काम किया, यह एक फॉर्म विधि है जो यूआरएल को फिर से लिखता है, मुझे नहीं लगता कि यह अब क्यों काम नहीं करता है –

+0

केवल उद्देश्य के परीक्षण के लिए POST विधि का उपयोग करने का प्रयास करें और परिणाम जांचें .. –

+0

$ _GET पैरामीटर क्यों नहीं काम करना चाहिए एक पुनर्लेखित यूआरएल पर बिल्कुल? मैंने आज पहले एक पृष्ठ अपडेट किया था जिसमें यूआरएल को फिर से लिखा गया था और अभी भी $ _GET पैरामीटर तक पहुंच थी। –

संबंधित मुद्दे