【发布时间】:2015-09-06 15:42:05
【问题描述】:
我正在尝试通过在 .htaccess 中使用 RewriteRule 使 URL 看起来更好,但它不起作用。
就是这样。我有一个根文件夹,其中有一个名为 pdf.php 的 PHP 文件。该文件中的脚本向用户发送一个 PDF 文件,该文件的名称在 URL 中作为变量给出。 PDF 文件位于名为 pdf 的文件夹中,位于根目录下。该文件夹受到保护,因此只能使用脚本获取 PDF 文件。所有这些都是出于安全原因。
例如,当您转到http://example.com/pdf.php?file=pdf/File.pdf 时,您可以下载 PDF 文件,其中 pdf/File.pdf 是 PDF 文件的路径。这工作正常。我希望它在您只需转到http://example.com/pdf/File.pdf 时就可以工作,因此必须将 URL 重写为前面提到的那个。
我尝试使用生成器创建 RewriteRule,但它不起作用。 以下规则位于 pdf 文件夹中的 .htaccess 文件中。将它放在根目录中也不起作用。
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^pdf/([^/]*)$ /pdf.php?file=pdf/$1
文件夹pdf的保护如下。
ErrorDocument 403 http://example.com/
Order deny,allow
Deny from all
【问题讨论】:
-
附加一组您所追求的源和目标 URL。到目前为止你给出了什么规则?
-
我用 .htaccess 文件中的行更改了我的帖子。
标签: regex apache .htaccess mod-rewrite