संपादित करें: एक गलती को ठीक किया गया जिसमें मैंने अपने HTML में about.html को /about/ के रूप में संदर्भित किया था, लेकिन अभी भी उन्हीं मुद्दों का सामना कर रहा हूं।


मैं समझता हूं कि यह एक ऐसे प्रश्न का डुप्लिकेट है जो पहले भी कई बार पूछा जा चुका है, लेकिन दूसरों के समाधान मेरे काम नहीं आ रहे हैं। मैं जो करने की कोशिश कर रहा हूं, वह फिर से मार्ग है, उदाहरण के लिए, index.html से /index/ और about.html से /about/

मैंने @louisvno के उत्तर का उपयोग करने की कोशिश की यहां, @ माइकल-ब्लीघ का उत्तर यहां, और @HarSH का उत्तर यहां, जिनमें से सभी को .json फ़ाइल में निम्नलिखित जोड़ना था:

"hosting": {
    "cleanUrls": true
  }

(यह Firebase के "कंट्रोल .html एक्सटेंशन" होस्टिंग व्यवहार को कॉन्फ़िगर करने के लिए उनकी मार्गदर्शिका का अनुभाग।)

हालांकि, इसका कोई असर नहीं हुआ। अपनी HTML फ़ाइल में, मैंने <a> टैग को href="index.html, href="/index/, और href="/index" पर सेट करने का प्रयास किया, लेकिन इनमें से किसी भी विकल्प ने काम नहीं किया और मैं वास्तव में निश्चित नहीं हूं कि क्या बदल रहा है यह मूल <a href="index.html"> से भी आवश्यक था। (यह है?)

मैंने जो दूसरा उपाय आजमाया वह था "redirects" संपत्ति का उपयोग करना, जैसा कि @ken-mueller यहां। मैंने "clearUrls" बिट को हटा दिया और निम्नलिखित को मेरी .json फ़ाइल में डाल दिया:

  "hosting": {
    "redirects": [ {
      "source": "index.html",
      "destination": "/index",
      "type": 301
    }, {
      "source": "index.html{,/**}",
      "destination": "/index",
      "type": 3011
    }, {
      "source": "about.html",
      "destination": "/calculator",
      "type": 301
    }, {
      "source": "about.html{,/**}",
      "destination": "/solutions",
      "type": 301
    } ]
  }

(यह Firebase के कॉन्फ़िगर रीडायरेक्ट सेक्शन पर भी जवाब है होस्टिंग व्यवहार को कॉन्फ़िगर करने की उनकी मार्गदर्शिका के बारे में)

इसका भी कोई असर नहीं हुआ। और, मेरे HTML को <a href="about.html"> से <a href="/about/"> या <a href="/about"> में बदलने पर भी, इसने about.html पृष्ठ को तोड़ दिया और इसके बजाय index.html पृष्ठ प्रदर्शित किया।

मैं क्या गलत कर रहा हूं? मैं यूआरएल के अंत से .html को कैसे हटा सकता हूं और यह सुनिश्चित कर सकता हूं कि जब भी यह यूआरएल में इनपुट होता है, तो यह बिना अंत के यूआरएल पर रीडायरेक्ट हो जाता है (यानी /index.html के बजाय /index/?

0
ttoshiro 15 जून 2020, 06:12

1 उत्तर

सबसे बढ़िया उत्तर

फायरबेस सपोर्ट से मऊ की बदौलत इस मुद्दे का पता लगा। "cleanUrls" ठीक काम करता है, मुझे बस एक ओपनिंग और क्लोजिंग ब्रैकेट (डुह) की जरूरत है। मेरी पोस्ट के कोड के लिए, मैंने यह भी देखा कि एक रीडायरेक्ट में 301 के बजाय "type": को 3011 पर सेट किया गया था। किसी भी तरह से, अंतिम कोड है:

{
  "hosting": {
    "cleanUrls": true,
    "trailingSlash": true
  }
}
1
ttoshiro 24 जून 2020, 05:33