2011-08-04 24 views
0

私はApacheの書き換えルールにはかなり新しいです。apache rewriterule

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule//special [NC] 

しかし、私は期待通り、この作品はありません: は、今私は

http://maywedding.0577sz.com/ 

http://maywedding.0577sz.com/special 

への私のルールは今のURLをリダイレクトします。 ルールを.htaccessファイルに書き込む方法は?

答えて

0
RewriteCond %{HTTP_HOST} ^(www\.)?danrenjian\.com$ 
RewriteRule ^/$    http://www.example.com/special [R,L] 
+0

ありがとうございますが、これはうまくいかないようです。 – hon

+0

空のパスは有効なHTTP [リクエストURI](http://tools.ietf.org/html/rfc2616#section-5.1.2)ではありません。 – phihag

+0

@phihag私に知らせてくれてありがとう。私はそれが '/'の後に始まり、 '/'は含めないと考えました。私は自分の投稿を編集しました。 – Paulpro

0

あなたのルールはスラッシュのみで構成されているため、[NC]は効果がありません。代わりに、

RewriteEngine on 
RewriteRule ^/$ /special/ [R] 

は、URLを内部的に書き換えるのではなく、HTTPリダイレクトを送信する必要があります。 apache2ctl restartまたは/etc/init.d/apache2 restartでApacheサーバーを再起動することを忘れないでください。

+0

それは動作しません、少年ありがとう。 – hon

+0

RewriteEngine on RewriteRule ^/$/special/[R]は 'special'の後にバックスラッシュを追加するだけで動作します。ありがとうございます。 – hon

+1

@honさて、あなたはスラッシュを付けずに '/ special'にリダイレクトしたいと言っていました。とにかくこの答えで修正されました。このPaulPROの答えがあなたの問題を解決する場合は、[accepting](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を考慮してください。いずれも問題は解決していない場合は、自分の答えを書いてそれを受け入れます。 – phihag