2016-05-18 27 views
5

मैं एक सरल htaccess नियम सेट करने की कोशिश कर रहा हूं, लेकिन काम नहीं कर रहा हूं।
मुझे लगता है कि समस्या ? और = वर्णों के साथ है?सरल एचटीएसीएएस फिर से लिखने के नियम त्रुटि 404

कोड है:

Options +FollowSymLinks 
ErrorDocument 404 /php/404redirect.php 
RewriteEngine on 
RewriteRule ^productos.php?id=([0-9]+)$ /?view=productos&id=$1 [L,NE,B,QSA] 

यह हमेशा मुझे त्रुटि दिखा सकते हैं 404.

क्या मैं चाहता हूँ से सभी अनुरोधों को अनुप्रेषित है:
www.example.com/productos.php?id=X

www.example.com/?view=productos&id=X

+0

रीडायरेक्ट करने के लिए आप रीराइट नियम उपयोग कर रहे हैं, लेकिन आप का उल्लेख है कि आप इसे रीडायरेक्ट करना चाहते हैं, क्या आप वास्तव में यह क्या करना चाहते हो तो क्या होगा? इसे रीडायरेक्ट करें या यूआरएल को अलग-अलग तरीके से कैसे प्रदर्शित किया जाए? – PavKR

+0

हाँ मुझे लगता है कि एक रीडायरेक्ट बेहतर है। आखिरकार मैं उपयोगकर्ता को दिखाना चाहता हूं जैसे कि:/productos/id – Tifon

उत्तर

2

RewriteRule ^productos.php /?view=productos [L,NE,B,QSA]

या आप

RewriteRule ^productos.php /?view=productos [L,NE,B,QSA,R=301]

3

लिए क्वेरी स्ट्रिंग है क्वेरी स्ट्रिंग्स को रीडायरेक्ट करने के लिए, रिवाइटरूल निर्देश में मिलान का हिस्सा नहीं है RewriteCond निम्न विकल्पों में से एक का उपयोग करने की जरूरत है:

विकल्प 1

RewriteEngine on 

RewriteCond %{THE_REQUEST} /product\.php\?id=([^&\s] [NC] 
RewriteRule^/?view-product&id=%1? [NC,L,R] 

विकल्प 2

RewriteEngine on 

RewriteCond %{QUERY_STRING} ^id=([^&]+)$ [NC] 
RewriteRule ^product\.php$ /?view-product&id=%1? [NC,L,R] 

हम एक खाली प्रश्न चिह्न का उपयोग करें? पुरानी क्वेरी स्ट्रिंग को त्यागने के लिए लक्ष्य यूआरएल के अंत में, अन्यथा ये क्वेरी स्ट्रिंग डिफ़ॉल्ट रूप से लक्षित यूआरएल में संलग्न हो जाती हैं।

बदलें आरआर = 301 आप पुनर्निर्देशन स्थायी बनाना चाहते हैं तो कर सकते हैं।

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