Apacheの書き換えについてはよくわかりません。また、次の一連の要件を実行したいと思います。
1. http://domain.com/keyword ==> http://domain.com/index.php?c=keyword
2. http://domain.com/keyword?utm_source=affiliate ==> http://domain.com/index.php?c=keyword&utm_source=afiliate
3. Do not rewrite any request like http://domain.com/css/ http://domain.com/images/
私は学習しようとしましたが、#1と#2を解決するためにこのようなリダイレクトを書くことができました:
RewriteEngine on
RewriteRule ^([A-Za-z0-9-+.,]+)\?*(.*)$ index.php?c=$1$2 [QSA]
これは、上記の私の要件の#1と#2の作業を行います。しかし、そのようなURLにアクセスしようとするとhttp://domain.com/b
、(PHP)で次の結果が生成されます。$_SERVER['QUERY_STRING']: c=index.php&c=b
また、フラグを絶対ドメインで[R、QSA]に変更すると(興味があったという理由だけで)、継続的なループリダイレクトが発生します。これは、ルールが複数回処理されていることを示します。
誰か助けてもらえますか?