現在、ある会社で URL の書き換えを行っていますが、新しい URL が正しいファイルを指すようにするのに苦労しています。
CMS にアクセスできません。ページは 2 つの形式で生成されます。
- website.com/pressReleases.php?lang=EN
- website.com/page.php?pagename=概要&lang=EN
各形式を同じ必要な形式 (website.com/language/pagename) にするために書き換えを使用しました。
フォーマット 1 (website.com/pressReleases.php)
RewriteCond %{QUERY_STRING} ^lang=(.*)$
RewriteRule ^(.*).php$ /%1/$1? [L]
フォーマット 2 (website.com/page.php?pagename=About&lang=EN)
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /page.php
RewriteCond %{QUERY_STRING} pagename=([^&]+)&lang=([^&]+)
RewriteRule ^page.php$ /%2/%1? [R=301,L]
問題は、2 つの形式の書き換えの出力が同じであるが、ソース ファイル/パスが異なることです。ナイス URL を実際のソースに転送する別のリダイレクトを作成すると、両方に適用されます。
RewriteRule ^([A-Za-z]+)/([0-9]+)/([a-zA-Z0-9_-]+)$ productSelection.php? groupid=$2&lang=$1 [L]
両方の URL タイプに同じナイス形式を使用して、元のパスに転送する方法はありますか? これを妨げている書き直しを間違って構造化しましたか?
どんな助けでも大歓迎です!