web-dev-qa-db-ja.com

このサーバーにアクセスする権益がありません

今日やりたいことは、サブフォルダにリダイレクトのルールを書くことだけです。例:あなたは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

だから私もこれをやった。二度と成功しない。彼らは私にhttpd.confを変更して。htaccessファイルが有効になるように言わなければならないと言っていませんでした。

<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を実行しています。

66
QuantumHive

.htaccessとmod_rewriteのエラー のおかげで私の解決策が見つかりました
Apache 2.4およびすべての* .confファイル(例:httpd-vhosts.conf、http.conf、httpd-autoindex.confなど)では

Require all granted

の代わりに

Order allow,deny
Allow from all

OrderおよびAllowディレクティブは、Apache 2.4では推奨されません。

163
QuantumHive

対処方法{設定以外に問題がなければ}

デフォルトでは、Appacheはipv4からのアクセスを制限していません。 (一般的な外部IP)

制限されるのは 'httpd.conf'(またはあなたのApacheの設定によっては 'Apache2.conf')の設定です

溶液:

すべて置き換えます。

<Directory />
     AllowOverride none
    Require all denied

</Directory>

<Directory />
     AllowOverride none
#    Require all denied

</Directory>

したがって、Apacheに与えられたすべての制限を取り除く

Require localディレクトリでRequire all grantedC:/wamp/www/に置き換えます

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
#   Require local
</Directory>
13
Jerin K. John

解決は簡単です。

ローカルIPアドレスを使用してサーバーにアクセスしようとしていて、「のようにエラーが表示される場合は禁止されていますこのサーバー上で/にアクセスする権限がありません

Httpd.confファイルを(私の場合はC:/wamp/bin/Apache/apache2.2.21/conf/httpd.conf)から開きます。

検索する

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

置換127.0.0.1から許可

すべてから許可

変更を保存してサーバーを再起動します。

今すぐあなたのIPアドレスを使用してあなたのサーバーにアクセスすることができます

3
Mehul

問題はhttps.confファイルにあります。

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

このエラーは、ハッシュ(#)が削除されるか、または混乱すると発生します。この2行は上のように表示されます。

2
Melvin

Apache/2.2.15(Unix)で私の解決策を見つけました。

そして@QuantumHiveからの回答をありがとう:

最初:私はすべてを見つけました

Order allow,deny
Deny from all

の代わりに

Order allow,deny

Allow from all

その後:

私が設定した

#
# 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>

前の "#"アノテーションを削除する

#
# 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。私のWebディレクトリは次のとおりです。/ var/www/html

1
MaxL

これは私にとってMac OS Mojave上で動作します。

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