/ / पुराने url को नए url पर पुनर्निर्देशित करें - .htaccess

पुराने url को नए url पर पुनर्निर्देशित करें ।htaccess

मुझे एक पुराने यूआरएल को एक नए पर रीडायरेक्ट करने में समस्या का सामना करना पड़ रहा है।

यह पुराना यूआरएल है: http://www.abc.com/department.asp?dept=Minimal%20cloth

नया यूआरएल होना चाहिए: http://www.abc.com/Minimal-cloth

कृपया मुझे सर्वोत्तम संभव तरीका सुझाएं

उत्तर:

उत्तर № 1 के लिए 1

क्या आप अपनी .htaccess फ़ाइल में नियमों का पालन करने की कोशिश कर सकते हैं:

Options +FollowSymLinks
RewriteEngine on

# to take care of /department.asp?dept=Minimal%20cloth or
# /department.asp?dept=Minimal cloth tyoe of URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)(s|%20)(.+)$ [NC]
RewriteRule ^department.asp$ /%1-%3? [R=302,L,NC]

# to take care of /department.asp?dept=MinimalCloth type URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)$ [NC]
RewriteRule ^department.asp$ /%1? [R=302,L,NC]

याद रखें कि रिवाइटरूल क्वेरी स्ट्रिंग से मेल नहीं खाता है।


जवाब के लिए 0 № 2

अपाचे का mod_rewrite इसके लिए एकदम सही है। उत्कृष्ट ट्यूटोरियल यहाँ.


जवाब के लिए 0 № 3

अपाचे सर्वर के कॉन्फ़िगरेशन में कौन से मॉड्यूल सक्षम हैं, इस पर निर्भर करते हुए, आप इसके लिए या तो mod_alias या mod_rewrite का उपयोग कर सकते हैं। mod_alias का उपयोग करने के लिए, कुछ ऐसा उपयोग करें

RedirectMatch 301 ^/department.asp?dept=(.*) /$1

Mod_rewrite का उपयोग करने के लिए कुछ ऐसा प्रयास करें:

RewriteCond %{QUERY_STRING} ^dept=(.*)$ [NC]
RewriteRule ^/department.asp/%1 [R=301]

इनका परीक्षण नहीं किया गया है, लेकिन उम्मीद है कि ये आपको शुरू कर देंगे।