1

私はmodrewriteが得意ではないので、誰かがここで私を助けてくれるなら、それは素晴らしいことです。

私はマークダウンプロセッサスクリプトを使用しており、マークダウンファイルタイプで終わるファイルを取得するためにリライトを使用しています。ただし、このスクリプトでは、マークダウンファイルタイプで終わるファイルではなく、フォルダー内のすべてのファイルを取得する必要があります。

これがhtaccess

# display Markdown as HTML by default
RewriteEngine on

RewriteRule .+\.(markdown|mdown|md|mkd)$ /static/includes/markdown/render.php
RewriteRule .+\.(markdown|mdown|md|mkd)\-text$ /static/includes/markdown/render.php [L]

(たとえば)「フォルダ」と呼ばれるフォルダ内のすべてのファイルを取得し、最後にファイルタイプを削除する方法はありますか?

だから多分次のようなURLを持っている

website.com/home 

それは実際には

website.com/home.md

マークダウンスクリプトで処理されますか?

これが理にかなっていることを願っています。

4

1 に答える 1

1

書き換えモジュールとその.htaccessファイルは、実際にはフォルダーごとに機能します。通常.htaccess、サイト/サーバーの Web ルートにメイン ファイルがあります。ただし、サイトのフォルダー構造全体に多数の.htaccessファイルを追加して、個々のフォルダーに固有のルールを与えることができます。

別の.htaccessファイルをマークダウン フォルダーに追加し、ファイル拡張子なしで URL を解析できるようにし、それをスクリプトに転送して、要求された元のファイルを検出できるようにするだけです。

RewriteEngine on
RewriteRule ^(.*)$ /static/includes/markdown/render.php?file=$1 [L,QSA]

基本的にここで起こっていることは、このフォルダー内で要求されたファイルはすべてファイルを介して渡されるということrender.phpです。

render.phpファイルには、元の URL$_GETを含むパラメーターがあります。fileの URL のhttp://example.com/markdown/foo場合、パラメータにrender.phpは-foofile

 /static/includes/markdown/render.php?file=foo

正しいヘッダーを設定するrender.phpと、任意の形式のファイルを印刷でき、「偽の」URL に拡張子が隠されます。

于 2012-09-29T12:31:09.683 に答える