मुझे एक पुराने यूआरएल को एक नए पर रीडायरेक्ट करने में समस्या का सामना करना पड़ रहा है।
यह पुराना यूआरएल है: 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]
इनका परीक्षण नहीं किया गया है, लेकिन उम्मीद है कि ये आपको शुरू कर देंगे।