2016-03-24 5 views
1

私は、cgiからのクエリを介して呼び出されたページを持っています。拡張後に不要な文字を削除する

xyz.cgi?page=abc.html 

私が持っている問題は、私は存在しないページのためのボット要求を取得することですが、リクエストが.html後に文字を持っており、結果は404

ある.htaccessまでで方法はあります.html拡張子の後にすべてを削除しますか?

答えて

0

あなたは、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] 
+0

ありがとう:

に/xyz.cgi?page=foo.html次を使用しても/xyz.cgi?page=foo.htmlcharsをリダイレクトします。それはうまくいきますが、残念ながらクエリ文字列ではありません。 –

+0

@WalterCollins答えが更新されました。 – starkeen

+1

あなたは人々が美しいです!私は何年にもわたって何度も何度も私の問題を解決し、どのように質問に答えたかを伝えることはできません。私がする必要があったことは、CGIへの道を追加することでした。それは魅力のように働いていました。 –

関連する問題