加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – .htaccess为PDF URL

发布时间:2020-12-13 14:01:31 所属栏目:PHP教程 来源:网络整理
导读:我有一个名为/ pdf /的结构,其中生成的PDF被存储.我试图使用.htaccess将访问者引导到PDF文件夹. 我的.htaccess文件中有这个规则: RewriteEngine OnRewriteBase /RewriteRule (.*) index.php?page=$1.htmlRewriteRule ??? for pdf?? (注意???? …) 当我尝试
我有一个名为/ 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中是否以大写或小写形式出现.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读