Programing

금지됨이 서버에 액세스 할 수있는 권한이 없습니다.

crosscheck 2020. 11. 13. 07:49
반응형

금지됨이 서버에 액세스 할 수있는 권한이 없습니다.


모든 오늘을하고 싶어하는 하위 폴더, 예를 리디렉션 규칙을 작성했다 : 당신은 URL을 입력 : example.com을 당신이로 리디렉션 example.com/subfolder

그런 단순한 소원. 나는 인터넷에서 해결책을 찾으려고 노력했다. 인터넷은 다음 과 같이 htdocs 루트에 .htaccess 파일 을 추가하라고 말했습니다 .

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^$ subfolder [L]

내가 했어. 그러나 분명히 성공하지 못했습니다. httpd.conf 에서 모듈의 주석 처리를 제거해야한다고 말하지 않았습니다 .

LoadModule rewrite_module modules/mod_rewrite.so

그래서 저도 그렇게했습니다. 다시는 성공하지 못했습니다. 그들은 .htaccess 파일을 사용할 수 있도록 httpd.conf 를 변경해야한다고 말하지 않았습니다 .

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

URL을 입력 할 때이 오류가 발생하기 때문에 다시 성공하지 못했습니다.

금지됨이 서버에 액세스 할 수있는 권한이 없습니다.

이제 나는 막혔고 인터넷에서 더 이상 해결책을 찾을 수 없습니다. 개인적인 이유로 Windows 7 컴퓨터에서 Apache 2.4를 실행하고 있습니다.


Apache 2.4의 경우 .htaccess 및 mod_rewrite 오류 및 모든 * .conf 파일 (예 : httpd-vhosts.conf, http.conf, httpd-autoindex.conf ..etc) 사용으로 인해 내 솔루션을 찾았 습니다.

Require all granted

대신에

Order allow,deny
Allow from all

주문 하고는 허용 지시어에서 사용되지 않습니다 아파치 2.4 .


작업 방법 {구성 이외의 문제가없는 경우}

기본적으로 Appache는 ipv4의 액세스제한하지 않습니다 . (공통 외부 IP)

제한 할 수있는 것은 'httpd.conf'(또는 아파치 구성에 따라 'apache2.conf')의 구성입니다.

해결책:

전부 교체:

<Directory />
     AllowOverride none
    Require all denied

</Directory>

<Directory />
     AllowOverride none
#    Require all denied

</Directory>

따라서 Apache에 주어진 모든 제한을 제거

교체 Require localRequire all granted에서 C:/wamp/www/디렉토리

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
#   Require local
</Directory>

해결책은 간단합니다.

로컬 IP 주소를 사용하여 서버에 액세스하려고 할 때 금지됨 과 같은 오류가 표시 되는 경우이 서버에 대한 액세스 권한이 없습니다.

httpd.conf 파일을여십시오. (제 경우 C:/wamp/bin/apache/apache2.2.21/conf/httpd.conf)

검색

<Directory "D:/wamp/www/"> .... ..... </Directory>

127.0.0.1에서 허용 바꾸기

...에

모두에서 허용

변경 사항을 저장하고 서버를 다시 시작하십시오.

이제 IP 주소를 사용하여 서버에 액세스 할 수 있습니다.


문제는 https.conf 파일에 있습니다!

# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

The error occurs when hash(#) is removed or messed around with. These two lines should appear as shown above.


Found my solution on Apache/2.2.15 (Unix).

And Thanks for answer from @QuantumHive:

First: I finded all

Order allow,deny
Deny from all

instead of

Order allow,deny

Allow from all

and then:

I setted

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /var/www/html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>

Remove the previous "#" annotation to

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory /var/www/html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

ps. my WebDir is: /var/www/html


This works for me on Mac OS Mojave:

<Directory "/Users/{USERNAME}/Sites/project">
    Options +Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    require all granted
</Directory>

참고URL : https://stackoverflow.com/questions/21551840/forbidden-you-dont-have-permission-to-access-on-this-server

반응형