2011-09-22 9 views
5

मेरे पास एक PHP सर्वर है और मैं आने वाले यूआरएल को फिर से लिखना चाहता हूं। चूंकि आने वाले अनुरोध पोस्ट अनुरोध हैं, इसलिए मैं नए यूआरएल पर डेटा पोस्ट करने के लिए भी पोस्ट करना चाहता हूं।PHP यूआरएल को पुनर्लेखित करें और पोस्ट किए गए डेटा को सुरक्षित रखें

मैं निम्नलिखित पुनर्लेखन नियमों के साथ रीडायरेक्ट URL में कामयाब रहे:

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,L] 

या

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,R=301] 

मैं भी निम्नलिखित पुनर्लेखन नियम के साथ पोस्ट डेटा को सुरक्षित करने में कामयाब हो:

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [P] 

समस्या यह है कि मैं दोनों एक ही समय में नहीं कर सकता। मैं क्या गलत कर रहा हूं? क्या url को रीडायरेक्ट करने और पोस्ट डेटा रखने का कोई तरीका है?

+0

मैं पुन: निर्देशित नहीं पुनर्लेखन करना चाहते हैं:

आदेश रीडायरेक्ट के बजाय फिर से लिखने के लिए, एक यूआरएल के बजाय एक स्थानीय पथ का उपयोग करें। – reven

उत्तर

8

आपकी समस्या शायद यह है कि आप पुनर्लेखन के बजाय रीडायरेक्ट करते हैं। रीडायरेक्ट ब्राउज़र में यूआरएल लोगों को बदलते हैं। रिवाइट केवल यूआरएल को बदलते हैं जो आपका PHP ऐप देखता है। उत्तरार्द्ध आमतौर पर आप क्या चाहते हैं। और बाद के मामले में पोस्ट चर स्वचालित रूप से संरक्षित हैं।

RewriteRule ^test/(.)$ index.php?data=$1 [NC,L] 
+1

शायद मैं वहां था और मुझे यह नहीं पता था। हाँ, मैं पुनर्निर्देशित न करने के लिए फिर से लिखना चाहता हूं। मैं उलझन में था क्योंकि मैं ब्राउज़र पर एक ही यूआरएल देख रहा था और मैंने सोचा कि पुनर्लेखन ने काम नहीं किया था। लेकिन आपके पास सही है। यहां तक ​​कि सोचा था कि ब्राउज़र का यूआरएल वही है index.php निष्पादित किया गया है। धन्यवाद दोस्त – reven

+0

यह वही था जो मैं खोज रहा था। धन्यवाद – wonderwhy

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