iptablesを使用してドメインのサブページに対するhttpリクエストを別のアドレスにリダイレクトする方法

iptablesを使用してドメインのサブページに対するhttpリクエストを別のアドレスにリダイレクトする方法

私は設定しました。
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.8.1:200
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
-A FORWARD -i eth0 -o wlan0 -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

アドレスが192.168.8.1:200のApacheで仮想ホストサーバーを実行しているのにうまく機能します。ページのリダイレクトは機能しますが、たとえば最上位のドメイン要求に対してのみ機能します。 www.google.comにリダイレクトされますhttp://localhost/

しかし、問題は、www.google.com/subpageまたはの要求のwww.anotherPage.com/subdir/subsubdir/pageためにApacheで404エラーが発生します。これらのサブページ要求を私のローカルホストのルートにリダイレクトしたいと思います。

注: htaccess 書き換え規則を設定できますが、要求をhttp://localhost/subdir/subpages。私はこれをしたくないので、合理的なアドバイスは何ですか?

ベストアンサー1

.htaccess欲しいものだけをリダイレクトしてください。正しく実行するだけです。

RewriteCond %{HTTP_HOST} =!localhost [NC]
RewriteRule .* http://localhost/

おすすめ記事