これは私の最初のリクエストであり、うまくいけば誰も動揺させません。
これが私の話です:
私は解決策を求めてこの場所全体を見てきましたが、見つけることができませんでした。誰かが何らかの情報を提供できることを願っています。
基本的に、Apache のmod_rewriteを使用して、Web サイトの SEO フレンドリーな URL を作成することができました。
たとえば、古いパスwww.hostname/index1.php?session=userはwww.hostname/userに書き換えられ、SEO フレンドリーな URL アドレスになります。
ただし、古いパスは引き続き有効です。検索エンジンがリンクの人気を新しい URL に転送できるように、着信するすべての古いindex1.phpリクエストを新しい URL (SEO に適した URL)に何らかの方法でリダイレクトする必要があります。無限ループのリダイレクトが発生している可能性があるため、機能していません。
これまでの私のコード:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
## Redirect still valid old links to SEO friendly ones
RewriteRule ^/?index1\.php\?session=user$ /user [R=301]
## Catch the above and rewrite the URL
RewriteRule ^/?user/?$ /index1.php?session=user [QSA,L]
上記のルールは、 htaccessファイルが解析されるときにヒットすることはありません。
ここである種のリダイレクト ループを実行している可能性があるので、index1.phpファイルの名前をindex2.phpに変更して、次のようなファイルを作成することを考えました。
## Redirect still valid old links to SEO friendly ones
RewriteRule ^/?index1\.php\?session=user$ /user [R=301]
## Catch the above and rewrite the URL
RewriteRule ^/?user/?$ /index2.php?session=user [QSA,L]
しかし、それも失敗しました。
これに対する最善のアプローチは何ですか?ここで何が間違っていますか?
ありがとうございました!