.htaccess重写原始请求附加到查询字符串

时间:2014-10-03 00:00:30

标签: php apache .htaccess pdf mod-rewrite

我的网站上有一个目录,里面有一堆临时PHP生成的PDF文件。

  

mysite.com/crm/pdfs /

我有一个位于pdfs /目录中的.htaccess文件,目的是将该文件夹中的所有请求重定向到该文件夹​​中的index.php页面,并在查询字符串中包含原始请求。例如,

指向浏览器时:

  

mysite.com/crm/pdfs/somepdf.pdf

应将其重定向到

  

mysite.com/crm/pdfs/index.php?p=somepdf.pdf

这是我目前的尝试:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]

问题是,当用户请求时:

  

mysite.com/crm/pdfs/somepdf.pdf

他们被重定向到

  

mysite.com/index.php

并且未附加原始请求。

如何在位于/ pdfs目录中的.htaccess中实现所需的结果?

1 个答案:

答案 0 :(得分:1)

/pdfs/.htaccess

中使用此规则
RewriteEngine On
RewriteBase /crm/pdfs/

RewriteRule ^(.+?\.pdf)$ index.php?p=$1 [L,QSA,NC]