मैं अपाचे को एक एकल स्थैतिक पृष्ठ की सेवा कैसे करूं, कोई फर्क नहीं पड़ता कि दर्ज URL क्या है?


9

मैं एक DNS सर्वर को अवरुद्ध करने वाला विज्ञापन बना रहा हूँ जो सभी विज्ञापन डोमेन को अपाचे की एक आवृत्ति पर पुनर्निर्देशित करता है । तो कुछ ऐसा है

www.addomain.com

पर पुनर्निर्देशित हो जाता है

dnsserver.localnetwork

हालाँकि, कभी-कभार मुझे लिंक अधिक पसंद आते हैं

www.addomain.com/some_ad

जो पुनर्निर्देशित हो जाता है

dnsserver.localnetwork/some_ad

जो मौजूद भी नहीं है और इसलिए एक 404त्रुटि उठाता है ।

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


1
आप apaches mod_rewrite पर एक नज़र डाल सकते हैं। डोमेन के बाद /index.html पर सब कुछ पुनर्निर्देशित करना
rechengehirn

यह एडब्लॉक करने का एक अक्षम तरीका लगता है।
पैंथर

@ bodhi.zazen आप इसे कैसे करेंगे? अधिकांश एडब्लॉकर एक समान अवधारणा पर काम करते हैं। विज्ञापन डोमेन के अनुरोधों को ब्लॉक या पुनर्निर्देशित करें। यदि आपके पास एक बेहतर विकल्प है, तो मुझे खुशी होगी।
सायंकालीन

1
ईमानदार होने के लिए, मैं नोस्क्रिप्ट और डिफ़ॉल्ट एडब्लॉक प्लग इन का उपयोग करता हूं। यदि वह पर्याप्त नहीं है, तो आप या तो एक होस्ट फ़ाइल (बनाए रखने के लिए काम लेता है) या एक प्रॉक्सी (प्रिविक्सी) का उपयोग कर सकते हैं, लेकिन फिर से खुद को ब्लैकलिस्ट करने के लिए अधिक काम करना पड़ता है। Addons.mozilla.org/en-US/firefox/addon/noscript और addons.mozilla.org/en-US/firefox/addon/adblock-plus देखें , आपको अपने ब्राउज़र के आधार पर विकल्प की आवश्यकता हो सकती है।
पैंथर

जवाबों:


18

Ubuntu में, सुनिश्चित करें mod_aliasकि सक्षम है:

sudo a2enmod alias

फिर अपने VirtualHost निर्देश में आप उपयोग कर सकते हैं AliasMatch

उदाहरण:

<VirtualHost *:80>
    DocumentRoot /path/to/your/host
    ServerName yourdomain.com
    DirectoryIndex index.html

    AliasMatch ^/(.*)$ /path/to/your/host/index.html

    <Directory "/path/to/your/host">
      Require all granted
    </Directory>
</VirtualHost>

अब सब कुछ पुनर्निर्देशित हो जाता है /index.html


मेरा जेएस, सीएसएस, और चित्र इस समाधान के साथ पुनर्निर्देशित हो रहे हैं। क्या कोई बड़ा रेगेक्स किए बिना इसे रोकने का कोई तरीका है जो अनुरोध के विस्तार की जांच करता है?
एमियो

8

आपको अपनी .htaccess फ़ाइल में पुनर्लेखन नियम की आवश्यकता है। निम्नलिखित की तरह कुछ काम करना चाहिए:

RewriteRule ^*$  http://www.addomain.com/index.html [R=301,NC,L]

यह एक अनुप्रेषित करता है। यह सीधे index.html की सेवा नहीं करता है।
स्लैंग

1

एक और सरल विकल्प 404 एरर पेज को स्टैटिक पेज में बदलना होगा जिसे आप अपनी साइट के सभी पेजों के लिए दिखाना चाहते हैं। तो, अपने अपाचे 2 विन्यास फाइल में इस लाइन (या कुछ इसी तरह) की तलाश करें:

ErrorDocument 404 /errors/not_found.html

और "/errors/not_found.html" को इसमें बदलें: "/index.html"

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.