web-dev-qa-db-ja.com

サブドメインからディレクトリへの書き換えを機能させるための問題

demo.example.comexample.com/my-demoにリダイレクトしたい。これは私の書き換えルールですが、実稼働サーバーで動作させることはできません。

  RewriteCond %{HTTP_Host} ^demo\.example\.com
  RewriteRule ^(.*)$ /my-demo/$1 [R=301,L]
2
AlxVallejo

現状では、同じホストにリダイレクトしています。すなわち。 demo.example.com/filedemo.example.com/my-demo/fileではなくexample.com/my-demo/fileにリダイレクトしていますが、リダイレクトループが発生します。 RewriteRule置換で絶対URLを指定する必要があります。

RewriteEngine On
RewriteCond %{HTTP_Host} =demo.example.com
RewriteRule ^(.*)$ http://example.com/my-demo/$1 [R=301,L]
2
MrWhite

これをdemo.example.comディレクトリの.htaccessファイルに入れます:

 RewriteEngine On 
 RewriteCond%{HTTP_Host} ^ demo\.example\.com [NC] 
 RewriteRule(。*)http://example.com/demo/$1 [ L、R = 301] 

つまり、demo.example.comはroot-folder/demoフォルダーにあります
その.htaccessファイルをroot-folderではなく、フォルダーdemoに置きます。

この作業があなたのために願っています。

1
mitchell

このRewriteRuleを持つVirtualHostのServerAlias demo.example.comがありますか?そうしないと、それが機能しない理由です。

0
Tero Kilkanen

ServerAliasではなくサブドメインの場合は、.htaccessファイルをメインドメインディレクトリではなくサブドメインに配置することを忘れないでください。まだ行っていない場合は、.htaccessに「RewriteEngine On」も追加します。

0
PHPstart