-1

ユーザーがhttp://xyz.mywebsite.comが仮想で存在しないアドレスバーにhttp://xyz.mywebsite.comと入力したときに、Webサイトユーザーをwww.mywebsite/users.php?user=xyzにリダイレクトしたい。

私は初心者で、URLの書き換えについてはあまり知りません。グーグルとスタックオーバーフローを検索しようとしましたが、解決策が得られませんでした。

私はこれから始めました

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+).mobilehealthnig.com$
RewriteRule (.*) http://www.mywebsite.com/users.php?subdomain=%1
</IfModule>

これも試しましたが、どれもうまくいきません

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mywebsite.com
RewriteCond %{HTTP_HOST} ([^.]+).mywebsite.com
RewriteRule ^(.*)$ /users.php?subdoamin=%1
4

1 に答える 1

0

わかりました、あなたの追加の入力に基づいて、私はこの設定を提案します:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.mywebsite\.com$
RewriteRule (.*) http://www.mywebsite.com/users.php?subdomain=%1 [L]
</IfModule>

それがうまくいかない場合(私はあなたのコメントからそれを取ります)、あなたは実際の問題がどこにあるかをチェックする必要があります:

  • 書き換えはまったく機能しますか?
  • このルールは何かをしますか?何?
  • そのルールは無視されますか?なぜ?

このような場合に絶対に最も理にかなっているのは、リライトロギングをオンにして、リライトエンジン内で実際に何が起こっているかを確認して理解することです。RewriteLog上記の2つのコマンドとRewriteLogLevelマニュアルの内部をご覧ください。おそらく7のログレベルを有効にして、単一のリクエストを行ったときにログに記録される内容を確認します。それはあなたに問題の原因を探す場所のアイデアを与えるはずです。

于 2012-11-10T12:40:04.240 に答える