.htaccess に次のロジックがあります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule notes/(.*?) notes/?u=/$1
</IfModule>
ただし、何らかの理由で、これにより常にクエリ文字列が出力から削除されます。したがって、これはたとえば、私がgitした結果です:
http://localhost:8888/notes/tifffilmtips > http://localhost/notes/
ただし、 RewriteRule を に変更すると、 の前RewriteRule notes/(.*?) notes/u=/$1
を除いて、結果は次のようになります。?
u=
http://localhost:8888/notes/tifffilmtips > http://localhost/notes/u=/tifffilmtips
そのため、何らかの理由で、生成されたクエリ文字列が出力で常に破棄されます。これはなぜでしょうか?さまざまなフラグを試しましたが、期待どおりに機能するフラグが見つかりません。同様の問題を抱えている他の人への参照も見つかりません。
編集:
最初の部分が機能している完全な htaccess は次のとおりです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteBase /magazine/wordpress/
RewriteRule ^notes/(.*)$ notes/?u=/$1 [QSA,NC,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /magazine/wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /magazine/wordpress/index.php [L]
</IfModule>
# END WordPress