VirtualHost जोड़ना विफल: प्रवेश निषिद्ध त्रुटि 403 (XAMPP) (विंडोज 7)


161

मुझे विंडोज 7 पर चलने वाला XAMPP इंस्टॉलेशन मिला है।

जैसे ही मैं httpd-vhosts.conf में एक VirtualHost जोड़ता हूं, वैसे ही 'नियमित' http://localhostऔर नए dropbox.local काम नहीं कर रहे हैं।

यह वही है जो मैंने अपने साथ जोड़ा httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ServerAlias www.dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>

तो मैं dropbox.local-error.logकिसी भी जानकारी के लिए मेरी देखा :

[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

इस त्रुटि को जोड़कर हल किया जा रहा है

<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
     Allow from all
</directory>

लेकिन अब मुझे यह त्रुटि मिलती है dropbox.local-error.log:

[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

इसके अलावा जब मैं उपयोग करने की कोशिश करता http://localhostहूं, तो मुझे नियमित रूप से कोई त्रुटि नहीं मिलती है error.log, हालांकि error 403जब मैं इसे एक्सेस करने का प्रयास करता हूं तो मुझे मिलता है।

क्या कोई मदद कर सकता है ... यह मुझे पागल कर रहा है: एस

संपादित करें: इसके अलावा httpd.confनिम्नलिखित है (मैंने देखा है कि यह कई बार उल्लेख किया है, इसलिए इससे पहले कि कोई भी यह कहता है):

<IfModule dir_module>
    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>

1
मुझे खुद एक उत्तर मिला है, लेकिन मैं इसे अभी तक पोस्ट नहीं कर सकता :( पर्याप्त प्रतिष्ठा नहीं: /
हाईमास्टडन

इन उत्तरों में से कोई भी मेरे लिए काम नहीं करता है :(
पथ्र्स

क्या कोई कृपया मेरी मदद कर सकता है? मैं MAMP stackoverflow.com/q/40405663/4480164
cyber8200

जवाबों:


340

ठीक है: यह वही है जो मैंने अभी किया है और यह हल है:

httpd-vhosts.confअब मेरा ऐसा दिखता है:

<VirtualHost dropbox.local:80>
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
    <Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
        # AllowOverride All      # Deprecated
        # Order Allow,Deny       # Deprecated
        # Allow from all         # Deprecated

        # --New way of doing it
        Require all granted    
    </Directory>
</VirtualHost>

सबसे पहले, मैंने देखा कि <Directory xx:xx>विकल्प सेट करना आवश्यक है । इसलिए मैंने <Directory > [..] </Directory>-part INSIDE को डाल दिया <VirtualHost > [..] </VirtualHost>। उसके बाद, मैं जोड़ा AllowOverride AuthConfig Indexesकरने के लिए <Directory>विकल्प।

अब http://localhostड्रॉपबॉक्स-वर्चुअलहोस्ट की ओर भी इशारा करता है। तो मैं जोड़ा dropbox.localकरने के लिए <VirtualHost *:80>के रूप में यह बनाता है<VirtualHost dropbox.local:80>

अंतिम रूप से यह काम करता है: D!

मैं एक खुश आदमी हूँ! :) :)

मुझे आशा है कि कोई अन्य व्यक्ति इस जानकारी का उपयोग कर सकता है।


39
एफडब्ल्यूआईडब्ल्यू, मैंने भी ऐसा ही किया था और अभी भी मेरे वीएचएस पर आरोप लगाने में समस्या थी। हालाँकि, जोड़ने के Require all grantedबाद Allow from allमेरे विन्यास का काम किया।
कैमिलो डिआज रेपका

httpd-vhosts.confअपाचे के लिए एक कॉन्फ़िग फ़ाइल है। Apache 'php-code' चलाता है। डाउनलोड और स्थापित करें और xamppऊपर बताए अनुसार विन्यास को बदलें।
हाईमास्टडॉन

6
अपाचे 2.4 के रूप में अभिगम नियंत्रण निर्देशों का आदेश, अनुमति, इनकार और संतुष्ट पदावनत किया जाता है । सुनिश्चित करें कि आप इन निर्देशों का उपयोग करते समय कम संस्करण चला रहे हैं, या आवश्यकता के अनुरूप उपयोग करें।
पास्कलकुलर

4
जैसा @Pascalculator कहता है, Require all granted इसके बजाय उपयोग करें । मैं इसके बजाय जोर देना चाहता हूं क्योंकि यह तब काम नहीं कर रहा था जब मेरे कॉन्फ़िगरेशन में अन्य विकल्प थे, लेकिन जब मैंने केवल इस एक को पीछे छोड़ दिया तो यह काम कर गया।
user2428118

1
@davejal बहुत बहुत धन्यवाद और कोई समस्या नहीं है :) मैं इसके बारे में एक झटका नहीं बनना चाहता। वास्तव में थोड़ा और EQ यहाँ अच्छा हो सकता है :)
Highmastdon

60

जब मैंने "निर्देशिका" सामग्री को इस में बदला तो मेरे लिए काम किया:

<Directory  "*YourLocation*">
Options All
AllowOverride All
Require all granted  
</Directory>

अपाचे 2.4.3 - अब ऊपर के साथ काम कर रहा है, इसके अलावा मेरे पास अपाचे और MySQL सेवाएं कंट्रोल पैनल में "चेक" की गई थीं, जो XAMPP CP को जवाब देना बंद कर रहा था। अनियंत्रित सेवाएं - अपाचे भाग गया, लेकिन प्रवेश निषिद्ध त्रुटि। उपरोक्त अनुमतियों को जोड़ा गया, और यह अब काम करता है। धन्यवाद!!
सीन केंडल

2
मूल रूप से यह - मुझे विकल्प निर्देश याद आ रहा था। Options Indexes FollowSymLinksक्या मुझे Apache2.2, YMMV
Ed Orsi

चयनित उत्तर के विपरीत इसने मेरे लिए अद्भुत काम किया। किसी कारण के लिए "सभी की आवश्यकता होती है" अपने आप से जवाब के रूप में यह सुझाव नहीं दिया क्योंकि यह तुरंत XAMPP दुर्घटनाग्रस्त हो गया। लेकिन इस उत्तर ने <डायरेक्टरी> के बीच उन लोगों के साथ काम किया ताकि उत्तर के लिए धन्यवाद।
स्क्रीडान

क्या कोई कृपया मेरी मदद कर सकता है? मैं MAMP stackoverflow.com/q/40405663/4480164
cyber8200

केवल Options Allमेरे लिए काम किया! यह गायब घटक है!
थियोडोर आर। स्मिथ

10

मेरे लिए (विंडोज 7 पर भी XAMPP), यही काम किया है:

<Directory "C:\projects\myfolder\htdocs">`
   AllowOverride All
   Require all granted
   Options Indexes FollowSymLinks
</Directory>` 

यह वह रेखा है जो 403 का कारण बनेगी:

Order allow,deny

.htaccess तब तक काम नहीं कर रहा था जब तक मैं आपके उत्तर में नहीं बदल गया, धन्यवाद।
ssi-aik

जब index.html याद आ रही है और आप केवल इस फ़ोल्डर के सभी पृष्ठ दिखाना चाहते हैं, तो आप केवल निम्नलिखित को जोड़ सकते हैं <निर्देशिका> निर्देश: Require all grantedऔरOptions Indexes FollowSymLinks
tatskie

8

मैं विंडोज 7 पर XAMPP 1.6.7 का उपयोग कर रहा हूं। इस लेख ने मेरे लिए काम किया।

मैं फ़ाइल में निम्न पंक्तियां जोड़ी httpd-vhosts.confपर C:/xampp/apache/conf/extra
मैंने भी रेखा को असहज कर दिया था# NameVirtualHost *:80

<VirtualHost mysite.dev:80>
    DocumentRoot "C:/xampp/htdocs/mysite"
    ServerName mysite.dev
    ServerAlias mysite.dev
    <Directory "C:/xampp/htdocs/mysite">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

अपाचे को दोबारा शुरू करने के बाद भी यह काम नहीं कर रहा था। फिर मुझे फ़ाइल को संपादित करके लेख में वर्णित चरण 9 का पालन करना था C:/Windows/System32/drivers/etc/hosts

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

फिर मुझे काम मिल गया http://mysite.dev


इससे वाकई मदद मिली। बहुत बहुत धन्यवाद। आपने मेरा दिन बचाया। :)
अभिषेक गोयल

6

धन्यवाद, कि काम किया! लेकिन मैंने इसे बदल दिया

AllowOverride AuthConfig Indexes

उस के साथ

AllowOverride All

अन्यथा, .htaccess ने काम नहीं किया: मुझे RewriteEngine और त्रुटि संदेश "RewriteEngine यहाँ अनुमति नहीं है" के साथ समस्याएं मिलीं।


3

उपरोक्त सुझावों ने मेरे लिए काम नहीं किया। मैंने इसे अपनी विंडोज़ पर चलाया, http://butlerccwebdev.net/support/testingserver/vhosts-setup-win.html से प्रेरणा लेकर

Httpd-vhosts.conf के अंदर Http के लिए

<Directory "D:/Projects">       
AllowOverride All
Require all granted
</Directory>

##Letzgrow
<VirtualHost *:80>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev    
</VirtualHost>

Httpd-ssl.conf के अंदर Https (Open SSL) का उपयोग करने के लिए

<Directory "D:/Projects">       
AllowOverride All
Require all granted
</Directory>

##Letzgrow
<VirtualHost *:443>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev    
</VirtualHost>

आशा है कि यह किसी की मदद करता है !!


2

इतने सारे बदलाव और कोशिशों और जवाबों के बाद। के लिये

SOs: विंडोज 7 / विंडोज 10

Xampp संस्करण: Xampp या Xampp पोर्टेबल 7.1.18 / 7.3.7 (नियंत्रण कक्ष v3.2.4)

इंस्टालर: win32-7.1.18-0-VC14- इंस्टॉलर / xampp-windows-x64-7.3.7-0-VC15- इंस्टॉलर

  1. Httpd-xampp जैसी अन्य फ़ाइलों को संपादित न करें

  2. अपाचे बंद करो

  3. ओपन httpd-vhosts.conf में स्थित **your_xampp_directory**\apache\conf\extra\(अपने XAMPP निर्देशिका डिफ़ॉल्ट रूप से हो सकता है: C:/xampp/htdocs)

  4. निम्न लाइन से पहले हैश निकालें (aprox। लाइन 20): NameVirtualHost *:80(यह वैकल्पिक हो सकता है)

  5. अपनी निर्देशिका पथों पर विचार करते हुए, फ़ाइल के अंत में निम्नलिखित वर्चुअल होस्ट्स जोड़ें:

    ##127.0.0.1
    <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
        ErrorLog "logs/localhost-error.log"
        CustomLog "logs/localhost-access.log" common
    </VirtualHost>
    
    ##127.0.0.2
    <VirtualHost *:80>
        DocumentRoot "F:/myapp/htdocs/"
        ServerName test1.localhost
        ServerAlias www.test1.localhost
        ErrorLog "logs/myapp-error.log"
        CustomLog "logs/myapp-access.log" common
        <Directory  "F:/myapp/htdocs/">
            #Options All # Deprecated
            #AllowOverride All # Deprecated
            Require all granted  
        </Directory>
    </VirtualHost>
    
  6. संपादित करें (व्यवस्थापक पहुँच के साथ) अपनी होस्ट फ़ाइल (पर स्थित है Windows\System32\drivers\etc, लेकिन निम्नलिखित टिप के साथ, हर डोमेन के लिए केवल एक लूपबैक आईपी :

    127.0.0.1 localhost
    127.0.0.2 test1.localhost
    127.0.0.2 www.test1.localhost
    

प्रत्येक उदाहरण के लिए, दूसरे ब्लॉक को दोहराएं, पहले वाला केवल "डिफ़ॉल्ट" उद्देश्यों के लिए मुख्य ब्लॉक है।


1
प्रत्येक वर्चुअल होस्ट के लिए अलग-अलग आईपी पते सेट करना काम किया! हालांकि WAMP के विपरीत, XAMP प्रत्येक सर्वर नाम की व्याख्या नहीं करता है जब वे सभी एक आईपी पते (जैसे 127.0.0.1 localhost,test1.localhost) में बंडल किए जाते हैं ।
CPHPython

@CPHPython मतभेदों का उल्लेख करने और मेरे उत्तर को बेहतर बनाने के लिए धन्यवाद। मदद करने में खुशी! मुझे याद है कि मैंने इस मुद्दे पर बहुत संघर्ष किया
Leandro

1
धन्यवाद, साथ ही मदद करने के लिए खुश! आपका उत्तर खोजने से पहले, मैंने यह जानने में काफी समय बिताया था कि विंडोज़ के होस्ट सर्वरनाम को क्यों नहीं दर्शा रहे हैं।
CPHPython

0

मैं xampp 1.7.3 का उपयोग कर रहा हूं। यहां से प्रेरणा का उपयोग करना: xampp 1.7.3 टूटी हुई वर्चुअल होस्ट पहुंच को अपग्रेड करना निषिद्ध है

Http -dhosts.conf में जोड़ने <Directory> .. </Directory>का INSTEAD , मैं इसे httpd.conf के ठीक बाद जोड़ता हूं <Directory "D:/xampplite/cgi-bin"> .. </Directory>

यहाँ मैं httpd.conf में जोड़ रहा हूँ:

<Directory "D:/CofeeShop">
    AllowOverride All
    Options  All
    Order allow,deny
    Allow from all
</Directory>

और यहाँ मैं httpd-vhosts.conf में जोड़ रहा हूँ

<VirtualHost *:8001>
    ServerAdmin postmaster@dummy-host2.localhost
    DocumentRoot "D:/CofeeShop"
    ServerName localhost:8001
</VirtualHost>

मैं Listen 8001अपनी सेटिंग को पूरा करने के लिए httpd.conf में भी जोड़ता हूं।

आशा करता हूँ की ये काम करेगा


0

कई लोगों के लिए यह एक अनुमति मुद्दा है, लेकिन मेरे लिए यह पता चला है कि त्रुटि उस गलती के बारे में थी जिसे मैं प्रस्तुत करने की कोशिश कर रहा था। विशिष्ट होने के लिए मैंने गलती से "कार्रवाई" के मूल्य के बाद "साइन से अधिक" लगा दिया था। इसलिए मेरा सुझाव है कि आप अपने कोड पर दूसरा नज़र डालें।

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