2013-02-15 14 views
19

ブラウザをURLに変更せずに、同じドメインの別のページにURLをリダイレクトしたいと考えています。したがって、ページwww.mydomain.co.uk/tour/www.mydomain.co.uk/を指すべきですが、変更はありません。.htaccess:URLを変更せずにリダイレクト

私はStackoverflowで多くの類似の質問を見てきましたが、すべての解決策が私のURLを変更するようです。

CODE:

RewriteEngine On 
Options +FollowSymLinks 
RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ http://www.mydomain.co.uk/ [L] 
+1

ドメインを削除してみます。 '[P]'を試してみてください –

+0

下の答えに[P]を追加してみてください –

答えて

18

あなたが書き換えルールに完全なURLを提供するので、それが自動的にリダイレクトとして扱われます。ただスラッシュで完全なURLを交換し、それが動作するはずです、すなわち:

RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$/[P] 

あなたも、それを下に短縮することができます。

RewriteEngine on 
RewriteRule ^/?tour.*/[P] 
+0

Apacheがここで行っているようにmod_proxyを有効にする危険性については、http://httpd.apache.org/docs/current/ mod/mod_proxy.html – user2602152

-4

ちょうど[P]に[L]を変更しようとIそれが動作すると仮定します。

+8

すでに受け入れられている回答は、今話題になっているだけです。 –

1

1- [L]の代わりに[P]を使用してください。 2行目の最後に$ sを使用すると、一連のURLがリダイレクトされ、最後に削除されます。 コードは次のようになります。

フォルダツアーのインデックスページ以上に扱います
RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ /$1 [P] 

+0

これは[Michal M's answer](http://stackoverflow.com/questions/14895980/htaccess-redirect-without-changing-url/14896042#14896042)とまったく同じです... –

+0

$ 1記号は次のとおりです。そこ! –

+0

ああ、私の間違い。私はその変化に気付かなかった。他の誰も同じミスを犯さないように、あなたの答えを編集してMichalの既存の答えを言い、あなたとは違う理由をお勧めします –

関連する問題