2016-11-02 41 views
0

/for-your-practice/を含む特定のURLにURLをリダイレクトしようとしています。 URLにfor-your-practiceが含まれていることがわかった場合、私はそれを希望のURLにリダイレクトします。これは、これまでhttps://www.example.com/first/second/order/shop/product-category/for-your-practice/ しようとしたソリューションのようになります。
まず:特定のキーワードを持つURLをリダイレクト

Redirect /for-your-practice/ 
https://www.example.com/first/second/order/shop/product-category/for-your-practice/ 

第二:

Redirect 302 https://www.example.com/first/second/order/shop/for-your-practice/ https://www.example.com/first/second/order/shop/product-category/for-your-practice/ 

サード:

#RewriteCond %{REQUEST_URI} www.example.com/first/second/order/shop/product-category/for-your-practice [NC] 
#RewriteRule ^(.*)$ /for-your-practice [R,L] 

第四:

RewriteCond %{QUERY_STRING} /for-your-practice/ 
RewriteRule .*$ http://www.example.com/first/second/order/shop/product-category/for-your-practice [L,R=301] 

残念ながら、それらのどれも働いていない、何が間違っている私はここでやっている? .htaccess

+0

あなたの試みは自分自身と矛盾するので、あなたが実際にしたいことは不明です。どの方向に書き直したいですか? URLリクエストのサンプルとは何ですか?また、何を書き直す必要がありますか? – arkascha

+0

@arkascha '/ for-your-practice /'を含むリンクを、特定のリンクにリダイレクトしたいと思います。私は私の質問を変更しました今それが意味があるかどうかを確認してください? –

答えて

1

最も簡単な、おそらくApacheの書き換えモジュールを使用することです:いくつかの前提条件が適用する必要があり、このために

RewriteEngine on 
RewriteCond %{REQUEST_URI} /for-your-practice/ 
RewriteRule^https://www.example.com/first/second/order/shop/product-category/for-your-practice/ [R=301] 

  • .htaccess tyleファイルの解釈が
  • 有効にする必要があります書き換えモジュールをロードする必要があります
  • .htaccessスタイルファイルは.htaccessスタイルファイルには、追加RewriteCondの使用のための

理由は、URL内のスラッシュに先行すると問題を提起することができるということですhttpサーバ・プロセスで読めるように持っているあなたのDocumentRoot

  • に配置する必要がありますRewriteRules in .htaccessスタイルファイル。一般的には、常には、.htaccessスタイルファイルを使用する代わりに、httpサーバーのホスト構成にそのようなルールを配置する方が好都合です。これらのファイルは、エラーが発生しやすく、デバッグが難しく、サーバを遅くすることがあります。これらのファイルは、でホスト構成(実際に安いホスティングプロバイダを参照)を使用できない状況や、独自の書き換えルール(明らかにセキュリティの悪夢)を作成する必要のあるアプリケーションのための最後の手段としてのみ提供されます。

  • +0

    ** END **に外部リダイレクト機能がありますか? – starkeen

    +0

    @starkeen真実はあまり意味がありません。ありがとう。 – arkascha

    +0

    まだ動作していません:( –

    関連する問題