サブフォルダーをファイルに書き直すのに問題があります。
リダイレクトは機能しますが、最後のルールではありません。
これが私がやろうとしていることです:
domain.com/file.php?lang=fr
に書き直したい
domain.com/fr/file.php
ファイルがどのフォルダにあるかは関係ありません。
私はフランス語の 1 つの言語だけを使用しています。
RewriteCond %{QUERY_STRING} ^lang=([A-Za-z-]+)/?$
RewriteRule ^(.*)\.php$ %1/$1.php? [NS,R=301,L]
RewriteRule ^fr/(.*)\.php/?$ $1.php?lang=fr&redirect=no [QSA,L]
私の現在のhtaccessファイル:
RewriteEngine On
RewriteBase /domain.com
RewriteCond %{QUERY_STRING} (^|&)lang=([A-Za-z-]+)(/?$|&)
RewriteCond %{QUERY_STRING} !(^|&)redirect=noneed($|&)
RewriteRule ^(.*)\.php$ %1/$1.php? [NS,R=301,L]
RewriteRule ^fr/(.*)\.php/?$ http://localhost/?$1.php?lang=fr&redirect=noneed [QSA,L]