1
私は、cgiからのクエリを介して呼び出されたページを持っています。拡張後に不要な文字を削除する
xyz.cgi?page=abc.html
私が持っている問題は、私は存在しないページのためのボット要求を取得することですが、リクエストが.html
後に文字を持っており、結果は404
ある.htaccess
までで方法はあります.html
拡張子の後にすべてを削除しますか?
私は、cgiからのクエリを介して呼び出されたページを持っています。拡張後に不要な文字を削除する
xyz.cgi?page=abc.html
私が持っている問題は、私は存在しないページのためのボット要求を取得することですが、リクエストが.html
後に文字を持っており、結果は404
ある.htaccess
までで方法はあります.html
拡張子の後にすべてを削除しますか?
あなたは、htmlの拡張子の後に文字を削除するには、次のルールを使用することができます。
RewriteRule ^(.+\.html).+$ /$1 [L,R]
これは
/foo.html
それとも
RedirectMatch ^/(.+\.html).+$ /$1
に
/foo.htmlchars
をリダイレクトします
EDIT:
RewriteEngine on
RewriteCond %{THE_REQUEST} /xyz\.cgi\?page=(.+\.html).+\sHTTP [NC]
RewriteRule^/xyz.cgi?page=%1 [L,R]
ありがとう:
に/xyz.cgi?page=foo.html次を使用しても/xyz.cgi?page=foo.htmlcharsをリダイレクトします。それはうまくいきますが、残念ながらクエリ文字列ではありません。 –
@WalterCollins答えが更新されました。 – starkeen
あなたは人々が美しいです!私は何年にもわたって何度も何度も私の問題を解決し、どのように質問に答えたかを伝えることはできません。私がする必要があったことは、CGIへの道を追加することでした。それは魅力のように働いていました。 –