基本的に、127.0.0.1 を使用してすべてに問題なくアクセスできますが、外部 IP (123.123.123.123) を使用すると、ページが見つかりません。
私のルーターは、HTTP ポート 80 をサーバーの内部 IP アドレスのポート 8080 にポート転送しています。つまり、(アプリケーション: HTTP | 開始: 80 | 終了: 8080 | プロトコル: 両方 | IP アドレス 192.168.0.101 | 有効 [はい]) ポート転送を停止すると、外部 IP を使用してルーターのページにアクセスできるため、転送が適切に行われていることがわかります。
私の仮想ホストファイルは次のとおりです:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
ServerName example.com
ServerAlias www.example.com
</VirtualHost>
私の httpd.conf ファイルは次のとおりです:
Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny, allow
deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
Options FollowSymLinks
AllowOverride None
Order allow, deny
allow from all
</Directory>
答え1
名前ベースの仮想ホスティングを使用しています。別の名前を使用して Web サイトにアクセスしようとすると、デフォルトのサイトが表示されます。
NameVirtualHost *:80
Servername localhost:80
答え2
問題は、拒否権限を持つ DocumentRoot を指定したことから発生すると思いますが、404 Not Found ではなく 403 Forbidden Errors が表示されるはずです (少なくとも、あなたの設定を真似しようとしたときにはそうなります)。
DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
このディレクトリにはエントリがないので<Directory >
、デフォルトの権限を継承します。
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny, allow
deny from all
</Directory>
拒否行をコメントアウトしてみてください
#Order deny, allow
#deny from all
または新しいエントリを作成してこの問題をテストする
<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
Options FollowSymLinks
AllowOverride None
Order allow, deny
allow from all
</Directory>
注記:今のところ、IP アドレスを使用してサーバーにアクセスする必要があります。www.example.com では、DNS エントリがないためどこにもアクセスできません (または、あったとしても、サーバーを指していません)。
答え3
ルーターの問題だったようです。ルーターを再起動したり、NAT リダイレクトを有効または無効にしてすべて試したにもかかわらず、ただ座っていただけで、ルーターがリセットされました。ルーターの管理ページに入るには、デフォルトのパスワードを入力する必要がありました (設定したパスワードではなく)。その後はすべて正常に動作しました。
また、vhostsファイルに何も入れないようにしてみると、うまくいくかもしれません。
教訓: 念のため、別のルーターを試してください。