2

動的サブドメインをシミュレートするために .htaccess を作成しようとしました。彼の投稿のように: .htaccess: mod-rewrite; サブドメイン

しかし、期待した結果を得ることは不可能です。

私は次のドキュメントを何度か読みました:apache

RewriteCond、RewriteRule、正規表現に問題はありません。しかし、サブドメインに問題があります。

私はこのページを持っています: tododiversion.es そして私の例では、私はこれが欲しいです:

chr.tododiversion.es ==> tododiversion.es/chr/

.htaccess を www フォルダーに入れます。www/ .htaccess

フォルダ「chr」は次の場所にあります: www/chr/

私が入れたhtaccesに:

RewriteEngine On

# host starts with something else  
RewriteCond %{HTTP_HOST} ^([^\.]+)\.tododiversion\.es$  [NC]

# rewrite 
RewriteRule ^(.*)$ /chr  [L]

それは動作しません..

簡単なテストを行ったので、urlrewritting が機能していることはわかっています。簡単なテストを行ったので、RewriteCond が動作していることがわかりました。localhost と 127.0.01 を使用して自分のコンピューターで試してみましたが、どちらも機能しませんでした。

誰かが私にアドバイスをくれるなら、それは素晴らしいことです!クリス

4

2 に答える 2

0

ドメインの後の URL の詳細が渡されるように、書き換えルールに $1 を含める必要があります。

chr.tododiversion.es/page.html ==> tododiversion.es/chr/page.html

あなたが提供したリンクに基づいて、書き換えルールは次のようになります。

# rewrite
RewriteRule ^(.*)$ /%1/$1  [L]
于 2012-10-24T21:09:00.993 に答える
0

問題は、サブドメインを処理するように apache が適切に構成されていない可能性があります。このディレクトリに転送するようにすべてのサブドメインが設定されていることを確認してください。そうしないと、.htaccess が実行されません。

<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
DocumentRoot /var/www/domain.com
</VirtualHost>

構成ファイルを更新した後は、忘れずに Apache を再起動してください。

参照については、Ubuntu で Apache2 のサブドメインを構成する方法を参照してください。

于 2012-10-23T21:56:51.140 に答える