1

我在 mod rewrite 方面不是最好的,所以如果有人可以在这里帮助我,那就太好了。

我正在使用降价处理器脚本,它使用重写来获取以降价文件类型结尾的任何文件。但是,我希望这个脚本能够抓取文件夹中的任何文件,而不是任何以 markdown 文件类型结尾的文件。

这是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]

有没有办法抓取一个名为(比如说)“文件夹”的文件夹中的所有文件并最终消除文件类型?

所以也许有一个像

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.phpfoofile参数中包含 -

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

如果您在其中设置正确的标题,render.php它将能够打印出任何格式的文件,将其扩展名隐藏在“假”URL中。

于 2012-09-29T12:31:09.683 回答