दिलचस्प पोस्ट
मैं सी # में प्रगति बार कैसे लागू करूं? क्या है यदि __name__ == "__main__": क्या करें? वर्तमान पृष्ठ के लिए नेविगेशन मेनू को हाइलाइट करें क्या HTML5 स्क्रिप्ट टैग की आवश्यकता प्रकार = "javascript" है? पायथन रिगेक्स मिलान वाले यूनिकोड गुण ऑटो ज़ूम इन इनपुट "टेक्स्ट" टैग को अक्षम करें – iPhone पर सफ़ारी खिड़कियों पर सिमलिंक? HTML <input type = 'file'> एक फिल्टर लागू करें एंड्रॉइड प्लेटफार्म पर मैं "फ्रंट कैमरा" कैसे खोल सकता हूं? फ़ोटोग्राफ़ की बिल्टोन और साथ ही लिंक्स पर बिंदीदार रूपरेखा को कैसे निकालना है? दूरस्थ शाखा के साथ स्थानीय जीआईटी शाखा की तुलना करें? जेनेरिक एचटीएसीईएस www को गैर-www से पुनर्निर्देशित करता है रेल: फ़ील्ड_ सूचकांक के लिए? क्या मुझे FileReader और BufferedReader दोनों को बंद करने की आवश्यकता है? उद्देश्य-सी में स्ट्रिंग की तुलना

.htaccess 301 एकल पृष्ठ की रीडायरेक्ट

एक साइट के पुन: डिज़ाइन के बाद, मेरे पास कुछ ऐसे पेज हैं जो पुनः निर्देशित किए जाने की आवश्यकता है। सब कुछ एक ही डोमेन पर रह रहा है, बस कुछ ही चीजों को पुनर्गठित किया गया है और / या उनका नाम बदल दिया गया है। वे इस रूप में हैं:

/contact.php

अब है:

/contact-us.php

.htaccess फ़ाइल का उपयोग करते हुए, मैंने यह रेखा जोड़ दी है, जो कि मैं सबसे अधिक सुझाता हूं:

RedirectMatch 301 /contact.php /contact-us.php 

यह ज्यादातर ठीक है – यह काम करता है – समस्या यह है, यह भी पुनर्निर्देशित है:

  • /team1/contact.php
  • /non-existant-folder/contact.php

क्या यह निर्दिष्ट करने का एक तरीका है कि मैं केवल रूट में contact.php को पुनर्निर्देशित करना चाहता हूं?

Solutions Collecting From Web of ".htaccess 301 एकल पृष्ठ की रीडायरेक्ट"

RedirectMatch एक नियमित अभिव्यक्ति का उपयोग करता है जो यूआरएल पथ से मेल खाती है। और आपकी नियमित अभिव्यक्ति /contact.php अर्थ केवल कोई URL पथ है जिसमें /contact.php होता है, लेकिन ठीक /contact.php ही /contact.php तो स्ट्रिंग की शुरुआत और समाप्ति के लिए एंकर का उपयोग करें ( ^ और $) :

 RedirectMatch 301 ^/contact\.php$ /contact-us.php 

यह करना चाहिए

 RedirectPermanent /contact.php /contact-us.php 
 redirect 301 /contact.php /contact-us.php 

रीडायरेपमाच नियम का उपयोग करने का कोई मतलब नहीं है और फिर अपने लिंक्स को लिखना है ताकि वे सटीक मिलान कर सकें। यदि आप शामिल नहीं करते हैं तो आपको बहिष्कृत करने की ज़रूरत नहीं है! बस मैच के बिना रीडायरेक्ट का उपयोग करें और फिर सामान्य रूप से लिंक का उपयोग करें

यदि आप टेम्पलेट मिलान करने और यूआरएल को रीडायरेक्ट करने की क्षमता चाहते हैं, तो आप फिर से लिखते हैं।

यदि आप किसी समस्या के सरलतम समाधान का उपयोग करना पसंद करते हैं, तो पुनर्निर्देशमैच का एक विकल्प, अधिक बुनियादी, पुनर्निर्देशन निर्देश है।

यह पैटर्न मिलान का उपयोग नहीं करता है और दूसरों को समझने के लिए इतना अधिक स्पष्ट और आसान है

अर्थात

 <IfModule mod_alias.c> #Repoint old contact page to new contact page: Redirect 301 /contact.php http://example.com/contact-us.php </IfModule> 

क्वेरी स्ट्रिंग्स को पूरा करना चाहिए क्योंकि डॉक्स कहते हैं:

मिलान किए गए URL- पथ से परे अतिरिक्त पथ जानकारी लक्ष्य URL पर संलग्न की जाएगी

यह आपके स्टोर पेज को आपके संपर्क पृष्ठ पर रीडायरेक्ट करेगा

  <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / Redirect 301 http://www.youtdomain.com/store http://www.youtdomain.com/contact </IfModule>