我不是最好的mod重写,所以如果有人能在这里帮助我,那就太好了。
我使用了一个markdown处理器脚本,它使用rewrite来抓取任何以markdown文件类型结尾的文件。然而,我希望这个脚本能够抓取文件夹中的任何文件,而不是任何以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]有没有一种方法可以抓取一个名为(比方说)“文件夹”的文件夹中的所有文件,并去掉最后的文件类型?
所以可能会有一个URL,比如
website.com/home 这实际上就是
website.com/home.md并使用markdown脚本进行处理?
希望这是有意义的。
发布于 2012-09-29 20:31:10
重写模块和它的.htaccess文件实际上在每个文件夹的基础上工作。通常,在站点/服务器的web根目录中会有一个主.htaccess文件。但是,您可以在站点的文件夹结构中添加大量.htaccess文件,为每个单独的文件夹指定特定的规则。
你所要做的就是将另一个.htaccess文件添加到你的markdown文件夹中,并使其能够解析没有文件扩展名的网址,将其转发到一个脚本,该脚本将能够检测到所请求的原始文件-
RewriteEngine on
RewriteRule ^(.*)$ /static/includes/markdown/render.php?file=$1 [L,QSA]基本上,这里发生的情况是,该文件夹中请求的任何文件都将通过您的render.php文件传递。
现在,在您的render.php文件中,您将拥有一个包含原始URL的$_GET参数file。对于http://example.com/markdown/foo的url,您的render.php将在file参数中包含foo -
/static/includes/markdown/render.php?file=foo如果你在render.php中设置了正确的标题,它将能够打印出任何格式的文件,将其扩展名隐藏在一个“假”网址中。
https://stackoverflow.com/questions/12652656
复制相似问题