2016-09-06 7 views
1

WordPressサイトとカスタムサイトがあり、特定のURLに移動するときにWordPressサイトからカスタムサイトにユーザーを送ります。メインのWPサイトがwww.example.comにあるとします。誰かがhttp://example.com/p/M12345に行くと、https://my.example.com/myexample/members/login.html?login=M12345に送信します。私はこれを行う最良の方法は、.htaccessファイルでmod_rewriteを使うことだと思った。WordPressページのmod_rewriteが機能しないようです。

これをメインの.htaccessファイルに設定しようとしたが、何も動作していないようだ。 www.example.comのWPサイトでは、通常これを処理するリダイレクトプラグインが使用されますが、先週はサイト全体が混乱していましたので、引き続き使用したくありません。 .htaccessファイルを使用したいのですが、これは正しい方法であると感じます。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(\/p\/)([mM]\d{5})$ https://my.example.com/myexample/members/login.html?login=$2 [R=301,L] 
</IfModule> 

いくつかは、我々が試みた:

  • 添加例えば[NC、R = 301、L]、[L、QSA]としてフラグ等を

  • 変更するRewriteRuleに301をリダイレクトしてフラグを削除しました

  • RewriteCond ^(/ p /)$これはexample.com/p/ページでのみ発生すると考えています

これを正しく行うにはどうすればよいですか?

+0

[ 'R = 301'](http://stackoverflow.com/a/9204355/1741542)でテスト決して! –

答えて

2

先頭のスラッシュは.htaccessで一致しません。[の前にpの前にスラッシュがあります。また/をエスケープする必要はありません。

RewriteEngine On 
RewriteRule ^p/([mM]\d{5})/?$ https://my.example.com/myexample/members/login.html?login=$1 [R=301,L] 
+1

おっとり - 「[」はタイプミスでした。それは私の通常のルールではありませんでした(実際のユースケースよりも質問に意味があるように変更しました)。とにかく、スラッシュが一致していないことに気づいていませんでした。それを取り除いた後、すべて正常に動作します。 ありがとう!私はそれがあなたの一日中、とても​​小さくて愚かなことを混乱させるときには、それが嫌いです。 – mark

関連する問題