2015-12-04 12 views
5

私の現在のプロジェクトでは301のリンクをリダイレクトする必要がありますが、いくつかの追加のパラメータを入力すると、新しいURLに接尾辞を付ける必要があります。RewriteRuleは本番サーバでは動作しません

例:

旧: /言語/ NL /記事-1 /テスト= 123

新しい:?? /言語/ NL/FA1-artcile-1 /テスト= 123

だから私は、次のコードを使用します(私のdevのENVで正常に動作する)

RewriteEngine On 
Options +FollowSymLinks 
RewriteBase /language/nl 
RewriteRule /artcile-1/* /language/nl/fa1-artcile-1/$1 [R=301,L] 

しかし、一度私の生産ENVで、それは動作しません、それはまだ新しいURLにリダイレクトただし、getパラメータは新しいURLに追加されません。

編集:それはリダイレクトんが、それはパラメータを追加しません。

編集2:フルフィル

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

書き換えルール(複数可)ワードプレス部品の前に来て、私は約30それらのを持っています。

提案がありますか?あなたはquery stringを追加する必要が

+0

書き換えが有効で、htaccessがプロダクションで許可されていますか? – Svetoslav

+0

申し訳ありませんが、ルールは機能しますが、パラメータだけが本番サーバーに追加されていないことを忘れてしまいました。 –

+0

@anubhavaそれはWordpressサイトです、ファイルはルートに配置されます。 –

答えて

0

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L,QSA] 
</IfModule> 

# END WordPress 
1

はこのようにそれを持っている:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

RewriteRule ^language/nl/article-1/?$ /language/nl/fa1-artcile-1/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

これはおそらく動作しますが、私の場合はそうではありません。MS Azure envで実行していることがわかります。 web.configファイルが必要です。 –

+0

うーん、ワードプレスのhtaccessをどうやって使っているのですか? – anubhava

+0

ルールを書き直すだけではうまくいきませんが、リダイレクトなどは301と同じように動作します。 –

0

は、おそらくここで他の回答も同様に適切です。しかし私の場合、彼らは働かないでしょう。

実行中のenvはMS Azureのenvです。したがって、.htaccessファイルの代わりにweb.configファイルを用意する必要があります(これはどのように動作します)。

すべてのクイックヘルプと考えていただきありがとうございます!

関連する問題