こんにちは、すべての URL がスラッシュで終わるように修正されていることを確認しようとしています。
http://www.mydomain.com/blogPost
それはなるだろう
http://www.mydomain.com/blogPost/
この質問への答えはここで見つかりました。一部のページをスラッシュ [.htaccess] で終わらせるにはどうすればよいですか(Andrew G. Johnson に感謝)。
このソリューションは、$_GET 変数がある場合を除いて、ほぼ完全に機能します。したがって、URLにこのような $_GET 変数がある場合
http://www.mydomain.com/blogPost/^start=10
htaccessはそれを次のように書き換えます
http://www.mydomain.com/blogPost/^start=10/
これはエラーを引き起こします。
スタックオーバーフローの質問からコピーした元のコードは次のようになります
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]
したがって、$_GET 変数があるときに htaccess が URL を無視するようにするために、上記のコードに RewriteCond を追加して、^ の REQUEST_URI をチェックしようとしました (このサイトでは、$_GET 変数は ? ではなく ^ で始まるため)。次のすべてですが、何も機能しません。誰でも私を正しい方向に向けることができますか
RewriteCond %{REQUEST_URI} [^\^]
RewriteCond %{REQUEST_URI} ![^\^]
RewriteCond %{REQUEST_URI} ^(.*[^\^])
({QUERY_STRING}でも上記を試しました)