私はApacheの背後でTomcatを実行しています。URLからパラメータ名を削除して、わかりやすいURLを適用する必要があります。私が欲しい
http://<domainname>/<APPLICATION>/QWERTY
これらは内部的に次のように動作するはずです
http://<domainname>/<APPLICATION>/vid=QWERTY
したがって、Tomcat では vid の値を取得し、それに応じてリクエストを処理できます
このために私は試しました、
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{QUERY_STRING} !vid=(.*)$ [NC]
RewriteCond %{REQUEST_URI} !/assets/$ [NC]
RewriteRule ^/APPLICATION/(.*)$ /APPLICATION/?vid=$1 [R=301,L]
</IfModule>
これを適用することで、私が与えたときにアプリケーションが動作しますhttp://<domainname>/<APPLICATION>/QWERTY
が、ブラウザの URL バーでは URL が次のように変更されますhttp://<domainname>/<APPLICATION>/vid=QWERTY
私http://<domainname>/<APPLICATION>/QWERTY
もブラウザのアドレスにいる必要があります。
更新:
「Jacek_FH」の回答により、ルールを更新しました[削除済みR=301
]
RewriteCond %{QUERY_STRING} !vid= [NC]
RewriteCond %{REQUEST_URI} !/assets/ [NC]
RewriteRule ^/APPLICATION/(.*)$ /APPLICATION/?vid=$1 [L]
その与えられたリソースが見つからないという例外(404)
テストのために、フレンドリーなURLをに変更してhttp://<domainname>/<APPLICATION>/u=QWERTY
試し ました
RewriteRule ^/APPLICATION/u=(.*)$ /APPLICATION/?vid=$1 [L]
しかし、これも tomcat で 404 になります。