docs
ルートにフォルダーがあるphp Webサイトがあります。サイトの構造は次のとおりです。
sitename.com/docs/
docs フォルダーには、名前にスペースが含まれているためにブラウザーの問題を引き起こすことがある PDF があるため、(主に IE によって) 検出されません。
私がやりたいことは次のとおりです。
ディレクトリに壊れた URL がある場合は常にdocs/
、クエリ文字列全体を docs ディレクトリ内の php ページにリダイレクトしたいと思いますが、PDF の名前はそのままにしておく必要があります。
したがって、URL は次のとおりです。
website.com/docs/this is a pdf
私はそれをにリダイレクトしたい:
website.com/docs/index.php?pdf=this is a pdf
そこから、PDFparam
を取得して修正し、要求を正しいファイルに送信できます。
これがストレートで行われない理由.htaccess
は、動的なソリューションを見つけることができないためです。つまり、PDF の単語数は可変であり、スペースで区切られた 1 ~ 20 単語になる可能性があります。
私はこのSO投稿でそれについて投稿しましたが、1つの返信がありましたが、それでも可変URL長の問題には対処していません.
このチュートリアルの例からこれをもう一度試しましたが、これを適切に行う方法を理解できないため、まったく役に立ちませんでした。
私が近いと思うのは、次のコードです。
RewriteEngine on
RewriteRule ^docs/(.*) /index.php?pdf=$1 [NC]
私は近いですか?