[Apache] विंडोज 7 पर WAMP 403 निषिद्ध संदेश


Answers

मुझे एक आसान फिक्स मिला ...

यद्यपि आइकन हरा था WAMP को अभी भी "ऑनलाइन रखें" होना चाहिए (बाएं-क्लिक आइकन पर मेनू का अंतिम आइटम)।

उसके बाद मुझे सामान्य के रूप में उपयोग किया गया था।

Question

मैंने अपनी विंडोज 7 मशीन पर WAMP संस्करण 2.1 स्थापित किया है। जब मैं अपने ब्राउज़र में लोकलहोस्ट ब्राउज़ करता हूं, तो WAMP सर्वर पृष्ठ दृश्यमान होता है।

लेकिन जब मैं अपने ब्राउज़र में अपने आईपी पर ब्राउज़ करता हूं, तो मुझे संदेश मिलता है

403 निषिद्ध: आपको इस सर्वर पर / एक्सेस करने की अनुमति नहीं है।

कोई सुझाव?




मेरा समाधान एन्कोडेड फ़ाइलों के लिए एन्कोडिंग को अक्षम करना था (ये फ़ाइलें विंडोज़ में हरे हैं)। मुझे इन फ़ाइलों को मैक कंप्यूटर से मिला है और इसे डिफ़ॉल्ट रूप से एन्क्रिप्ट किया गया था।

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

और voila यह काम करता है।




सुनिश्चित करें कि आप अपने .conf फ़ाइल में अपने पथ नामों में Windows के निर्देशिका विभाजक वर्ण (बैकस्लैश) का उपयोग नहीं कर रहे हैं, भले ही आप Windows पर हों। अपाचे उन्हें समझ में नहीं आता है लेकिन फिर भी शुरू होगा और फिर 403 Forbidden Message आउटपुट करेगा।

गलत:

<Directory "c:\websites\my-website\">

सही:

<Directory "c:/websites/my-website/">



इस समस्या के कई कारण हो सकते हैं

मैंने जो अनुभव किया है वह हैं:
1) 127.0.0.1 localhost प्रविष्टि मेजबान फ़ाइल में डुप्लिकेट किया गया था
2) अपाचे mod_rewrite सक्षम नहीं था

कारण के बावजूद, अपने www फ़ोल्डर का बैक अप लेना , vhost कॉन्फ़िगरेशन फ़ाइल (और httpd कॉन्फ़िगरेशन फ़ाइल) मदद करेगा। और ऐसी प्रक्रिया में कुछ मिनट लगते हैं।

सौभाग्य




मुझे यह समस्या भी हुई। मेरी समस्या का मार्ग था कि मैंने अपनी vhosts.conf फ़ाइल में गलती की थी। यदि आप vhosts का उपयोग कर रहे हैं तो यह जांचने की एक और चीज है




Apache 2,4 पर भी आपको httpd-vhosts.conf को शामिल करने का निर्णय लेने पर, निर्देशिका निर्देश में इसे जोड़ने की आवश्यकता हो सकती है।

डिफ़ॉल्ट रूप से आप सी: \ में वैंप इंस्टॉल कर सकते हैं लेकिन फिर भी अपने वेब विकास को दूसरे स्थान पर तैनात करना चुनते हैं।

Vhosts.conf के अंदर ऐसा करने के लिए आप यह निर्देश जोड़ सकते हैं:

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>



मैंने उपरोक्त कॉन्फ़िगरेशन की कोशिश की और केवल यह मेरे WAMP अपाचे 2.4.2 कॉन्फ़िगरेशन के लिए काम किया। अपने विंडोज होस्ट फ़ाइल में नामित डोमेन के बिना एकाधिक रूट साइट के लिए, http://locahost:8080, http://localhost:8081, http://localhost:8082 और यह कॉन्फ़िगरेशन का उपयोग करें:

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......



सुनिश्चित करें कि, निर्देशिका में फ़ाइल का नाम c:/wamp/apps/phpmyadmin3.1.3.1/ , phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/" में नाम (या संस्करण) से मेल खाता है Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/" )




यह मुझे हमेशा समझने के लिए ले गया।

C: \ WAMP \ बिन \ अपाचे \ apache2.4.9 \ conf \ अतिरिक्त \ httpd-vhosts.conf

इस फ़ाइल में आप कई उदाहरण वर्चुअल होस्ट फ़ाइलों को देखेंगे, जो इस तरह दिखते हैं:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

बस इन प्रविष्टियों को हटाएं और इसके साथ प्रतिस्थापित करें:

<VirtualHost *:80>
    ServerAdmin serveradmin@host.com
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

आपको निश्चित रूप से यह सुनिश्चित करने की ज़रूरत है कि आपके अन्य बतख एक पंक्ति में हैं लेकिन यह मेरे लिए समाधान के समाधान के साथ है।




Httpd.conf में अनुमतियों को बदलने का समाधान काम करेगा यदि आप बाहर से WAMP सर्वर तक पहुंच प्रदान करने के ठीक हैं।

यदि आप ऐसा नहीं करना चाहते हैं तो आपको बस इतना करना है कि "लोकलहोस्ट" डोमेन 127.0.0.1 को इंगित करता है। आप अपनी सिस्टम निर्देशिका में मेजबान फ़ाइल को संपादित करके ऐसा कर सकते हैं।

फ़ाइल को यहां रखा गया है: सी: \ विंडोज \ System32 \ drivers \ etc \ hosts

डिफ़ॉल्ट विंडोज 7 जहाजों के साथ:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

आपको स्थानीयहोस्ट के लिए मानचित्रण को अन-टिप्पणी करना होगा:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

नोट: आप मेजबान फ़ाइल को केवल पढ़ने-योग्य फ़ाइल के रूप में संपादित करने में सक्षम नहीं होंगे। संपादित करने के लिए, आपको व्यवस्थापक होना होगा, फ़ाइल को किसी अन्य स्थान पर कॉपी करना होगा, इसे संपादित करें और फिर उसे वापस निर्देशिका निर्देशिका में कॉपी करें।

मैं मेजबान फ़ाइल के परिवर्तन की अनुशंसा नहीं करता हूं। Httpd.conf फ़ाइल की अनुमतियों का प्रयोग करें। मेजबान फ़ाइल दृष्टिकोण का उपयोग केवल तभी करें जब आप सर्वर से बाहर नहीं पहुंचना चाहते हैं।




फ़ाइल httpd-vhosts.conf फ़ाइल में निम्न पंक्तियों को जोड़ने का प्रयास करें:

<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>



httpd-vhosts.conf में डमी तत्वों को निकालना याद रखें

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>