2012-05-22 18 views
6

से क्वेरी स्ट्रिंग निकालें मैं मूल रूप से क्वेरी स्ट्रिंग का उपयोग करके बनाई गई साइट के लिए उचित 301 रीडायरेक्ट बनाने के लिए संघर्ष कर रहा हूं। पुराने URL संरचना इस तरह दिखता है:301 रीडायरेक्ट

http://www.oldsite.com/about/index.cfm?fuseaction=cor_av&artID=5049 

मैं नए डोमेन पर एक नया पृष्ठ के लिए पूरे सबफ़ोल्डर ('के बारे में' नाम) रीडायरेक्ट करना चाहते हैं। नए डोमेन के URL ऐसा दिखाई देगा:

http://www.newsite.com/info 

तो, मैं एक रीडायरेक्ट कि इस तरह दिखता है की स्थापना:

redirectMatch 301 ^/about/ http://www.newsite.com/info 

यह ठीक रीडायरेक्ट हो रहा है, लेकिन यह मूल URL स्ट्रिंग रख रहा है संलग्न है, तो नया URL ब्राउज़र में इस तरह लग रही समाप्त होता है:

http://www.newsite.com/info/?fuseaction=cor_av&artID=5049 

मैं निश्चित रूप से एक अपाचे/301 विशेषज्ञ के लिए पर्याप्त OT जानते हैं कि यह कैसे तय करने के लिए नहीं कर रहा हूँ। मैं सिर्फ सब कुछ बंद करना चाहता हूँ? पर।

वास्तव में किसी भी मदद की सराहना करते हैं।

उत्तर

28

दो विकल्प:

redirectMatch 301 ^/about/ http://www.newsite.com/info? 

या: अंत में

RewriteEngine on 
RewriteRule ^about/(.*) http://www.newsite.com/info? [L,R=301] 

प्रश्न चिह्न महत्वपूर्ण बिट हो रहा है। दूसरा एक लग रहा है एक छोटे से क्लीनर .htaccess कि oldsite.com के लिए निर्दिष्ट में इस कोड को जोड़ना

+0

धन्यवाद! यह मेरे लिए काम किया। – Ash

+3

ध्यान दें कि अपाचे> = 2.4 पर, आप एक अंतिम प्रश्न चिह्न जोड़ने के बजाय क्यूएसडी ध्वज का उपयोग कर सकते हैं: 'रिवाइट्रूल^के बारे में /(.*) http://www.newsite.com/info [' QSD', L , आर = 301] ' –

0

प्रयास करें (पहले अपने URL के अंत में एक प्रश्न चिह्न छोड़ देता है):

RewriteCond %{REQUEST_URI} ^/about/index.cfm$ 
RewriteRule ^(.+) http://www.newsite.com/info/ [R=301,QSA] 

अप का पालन करें?

+1

नहीं,' QSA' ** ** ** नई यूआरएल में पुरानी क्वेरी स्ट्रिंग को प्रतिलिपि बनाता है। ** ** ** इसे कार्डकार्ड करने के लिए, ध्वज का उपयोग करें 'क्यूएसडी' (अपाचे> = 2.4) या स्वीकृत उत्तर के रूप में बस'? 'जोड़ें। [अपाचे रिवाइट्रूल फ्लैग] देखें (http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa) – dennis

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