我不是最好用mod重写,所以如果有人可以帮助我,这将是伟大的。
我正在使用降价处理器脚本,它正在使用重写来获取以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]
有没有办法获取名为(比方说)“文件夹”的文件夹中的所有文件,并在最后删除文件类型?
所以也许有像
这样的网址website.com/home
实际上是
website.com/home.md
并使用降价脚本处理?
希望这是有道理的。
答案 0 :(得分:1)
重写模块及其.htaccess
文件实际上基于每个文件夹。通常,站点/服务器的Web根目录中会有一个主.htaccess
文件。但是,您可以在整个站点的文件夹结构中添加大量.htaccess
个文件,从而为每个文件夹指定特定的规则。
您需要做的就是将另一个.htaccess
文件添加到您的markdown文件夹并启用它来解析没有文件扩展名的URL,将其转发到一个脚本,该脚本将能够检测到请求的原始文件 - < / p>
RewriteEngine on
RewriteRule ^(.*)$ /static/includes/markdown/render.php?file=$1 [L,QSA]
基本上这里发生的事情是,此文件夹中请求的任何文件都将通过您的render.php
文件传递。
现在,在render.php
文件中,您的$_GET
参数file
包含原始网址。对于http://example.com/markdown/foo
的网址,您的render.php
在foo
参数中会file
-
/static/includes/markdown/render.php?file=foo
如果您在render.php
中设置了正确的标题,则可以打印出任何格式的文件,将其扩展名隐藏在“虚假”网址中。