我有一个名为/ 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
欢迎来到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 举报,一经查实,本站将立刻删除。