2017-07-18 11 views
1

私たちは最近、私たちのクライアント向けにカスタム化されたクライアントのウェブサイトを取得しました。これらのURLは基本的に非友好的なURL "article.php?id = 1 "となる。私はそれらのSEOをフレンドリーにしようとしています。新しいURLを作成しているうちに、古いURLを作成したばかりのものに自動的にリダイレクトさせることはできません。RewriteRule for article.php?id = 1 toプリンタ名

私は運で次のことを試してみました:

RewriteEngine On 
RewriteBase/

RewriteRule ^articulo.php?id=1$ "xerox-phaser-3020bi" [NC,R=301,L] 
RewriteRule ^xerox-phaser-3260dni$ /articulo.php?id=2 [R=301,L] 
RewriteRule ^xerox-phaser-33dn$ articulo.php?id=3 [L] 

あなたは私が手動で各製品のURLを作成しています(のみ約38)と、アプリがcategory.phpを印刷していないので注意してくださいとして名を=? nameofcategory & article.php?id = 1これは、フレンドリーなURLを作成するための最良の方法だと思いました。 /ゼロックス・フェイザー・3260dni

ありがとう:誰かが/article.php?id=1製品については、当社のウェブサイトにクリックしたときにそれらはのような優しいURLに取られているように、私が欲しいもの

です!

編集:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^id=1$ 
RewriteRule ^articulo\.php$ /xerox-phaser-3260dni/? [R=301,L] 

このコードは、リダイレクトが、フレンドリーURLにアクセスしたときにページが表示されません。

答えて

2

URLに?のような記号が含まれているため、方法が機能しません。 {QUERY_STRING}を使用する必要があります。

は、以下のことを試してみてください。

RewriteCond %{QUERY_STRING} article.php?id=1$ 
RewriteRule (.*) /xerox-phaser-3260dni/? [R=301,L] 

は、クエリ文字列をURLの末尾に表示されないように、それが必要とされているようにリダイレクトURLの末尾に?を追加することを忘れないでください。

これをテストする前にキャッシュをクリアしてください。

+0

友だちのURLにアクセスすると、この提案はリダイレクトされず、正しいページに戻されません –