0

いくつか問題があります。私はたくさん検索し、バリエーションを試しましたが、それでもこれを機能させることができません。

私の目的は単にこれです:

リダイレクト: http ://site.com/folder1/folder2/ページ

宛先: http ://site.com/folder1/folder2/ページ

「フレンドリURL」を使用していることに注意してください。

これが私が試した方法と私が遭遇した問題です。

1)リダイレクト301

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page

このリダイレクトは機能しますが、問題は、「ページ」からの変数の取得がURLの最後に表示されることです。これは、SEOにとっては悪いことです。

http://site.com/folder1/folder2/Page?get=page

2)RewriteRule

mod_rewriteのRewriteRuleは、Get Variablesが表示される問題を修正することになっています(私が読んだものから)。

問題は、ファンシーURL構造で機能しないことです。

RewriteRule ^/folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

それは単に機能しません。リダイレクトは実行されないので、ここで何かが間違っている必要があります。私はそのコードに多くのバリエーションを試しました。

フレンドリURLで直接RewriteRuleを使用することはできませんか?

(フレンドリーなURLは、.php拡張子を削除したことを意味します)

助けを楽しみにしています!ありがとう!


アップデート1:

ここでは大文字と小文字の区別は問題ではないことに注意してください。

私の例が次の場合でも:Page1 => Page 2

代わりに:page=>ページ

問題はまだ解決していません。


アップデート2:

これは私がこれまでに得た最も近い解決策です(しかしまだそこにはありません):

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page?

「?」を追加しました 最後に。

これにより、次のランディングURLが表示されます: http ://site.com/folder1/folder2/Page ?

それはGetVariablesを削除しますが、それでも私が望むほどSEOフレンドリーではありません。

4

2 に答える 2

0

2 番目のケースで、htaccess ファイルに書き換えルールを追加する場合、先頭のスラッシュは照合されません。

試す:

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

なぜあなたは尋ねるのですか?良い質問!

于 2012-11-07T18:28:20.093 に答える
0

ここでの質問について完全に明確であるとは言えません。大文字化ルールを一致させようとしていますか、それともクエリ文字列を失わせようとしていますか? 両方?

大文字の場合、ルールは機能すると思います (誤字の修正された Rajesh と hakre の呼び出しが削除されます)。クエリ文字列を削除したいのですが、末尾に ? を追加してみてください。あなたのルールの後半に。次のようになります。

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page? [R=301,L]
于 2012-11-07T18:53:57.320 に答える