微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – .htaccess为PDF URL

我有一个名为/ pdf /的结构,其中生成的PDF被存储.我试图使用.htaccess将访问者引导到PDF文件夹.

我的.htaccess文件中有这个规则:

RewriteEngine On
RewriteBase /
RewriteRule (.*) index.PHP?page=$1.html
RewriteRule ??? for pdf??

(注意???? …)

当我尝试访问url / manual_chap_1它正在工作.但是当我尝试/ pdf / manual_chap_1它似乎没有工作.这里有一些我看到的输出

$_GET [page] => index.PHP.html

我想要能够生成PDF文件,如果PDF文件不存在于请求的位置,然后,我希望它加载一个HTML页面.

欢迎来到StackOverFlow,尝试这样:
RewriteEngine On
RewriteBase /

RewriteRule ^pdf/([a-z0-9\-_\.]+)$pdf.PHP?file=$1 [L,NC,QSA]

RewriteCond %{REQUEST_URI} !^/pdf
RewriteRule ^([a-z0-9\-_\.]+)/?$index.PHP?page=$1.html [L,QSA]

L:[L]标志使mod_rewrite停止处理规则集.在大多数情况下,这意味着如果规则匹配,则不会再处理其他规则.这对应于Perl中的最后一个命令或C中的break命令.使用此标志来表示当前规则应该立即应用,而不考虑进一步的规则.

QSA:当替换URI包含查询字符串时,RewriteRule的认行为是丢弃现有查询字符串,并将其替换为新生成查询字符串.使用[QSA]标志会导致查询字符串的组合.

NC:使用[NC]标志会使RewriteRule以不区分大小写的方式进行匹配.也就是说,它不关心字符在匹配的URI中是否以大写或小写形式出现.

此外,我建议使用破折号而不是下划线.

原文地址:https://www.jb51.cc/php/139569.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐