2016-05-31 19 views
1

私は通常、ここに投稿しないで自分自身を理解しようとするが、私は知恵の終わりです。ワードプレス.htaccessリダイレクト

私はに要求するようにワードプレスでリダイレクトを実行しようとしている

/property/123-my-unique-uri-here 

が... /property-details.phpと呼ばれるファイルに転送ますが、URLがアドレスバーに同じまま。

は、ここで私が試したものだ。しかし

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^property/(.*)$ /wp-content/themes/Divi/property-details.php?uri=$1 [QSA,L] 
</IfModule> 

、私はちょうどホームページへ転送しまっURL /property/123-my-unique-uri-hereを訪問するとき。

誰もが何か考えがあるなら、私は永遠に感謝しています!

+1

標準のWPのように、index.phpに書き直すなどのルールが必要です。順序も関連しています。 –

+0

Wordpressのリライトルール機能を使用するhttps://codex.wordpress.org/Rewrite_API/add_rewrite_rule – TheFallen

+0

ここで必要な答えが得られない場合は、参考になるwordpress.stackexchange.comサイトもありますあなたを助けることができる。 – Simba

答えて

0

これを試してみてください。

RewriteRule ^property/123-my-unique-uri-here$ /property-details.php?&%{QUERY_STRING} 

別のオプションだけで301を使用することです:

RedirectMatch 301 /property/123-my-unique-uri-here(.*) /property-details.php$1 
0

ソリューションは、末尾がこれらのURLにスラッシュ追加.htaccessの書き換えルールを作成することです。 - 例末尾のスラッシュでURLへの最後のスラッシュを持っていないすべてのURLリダイレクト:

RewriteEngine On 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_URI} !example.php 
     RewriteCond %{REQUEST_URI} !(.*)/$ 
     RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301] 

を追加末尾のスラッシュ.htaccessの書き換えルールの説明:

最初の行は、このことをApacheに伝えますApacheのmod_rewriteモジュールの書き換えエンジン用のコードです。 2行目は現在のディレクトリをページルートとして設定します。しかし興味深い部分は次のとおりです。

RewriteCond %{REQUEST_FILENAME} !-f 

既存のファイルにスラッシュが追加されないようにします。これは、既存のディレクトリの書き換え動作を除外するため、ディレクトリで同じ作業を行うべきではありません。行

RewriteCond %{REQUEST_URI} !example.php 

は、書き換えられないサンプルURLは除きます。これは単なる例です。書き換えられないファイルまたはURLがない場合は、この行を削除してください。条件:

最後に、URLに末尾のスラッシュが含まれていないと起動します。今度は、スラッシュを付けずにURLをリダイレクトする必要があります。

RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301] 
関連する問題