2014-10-03 41 views
1

我在我的网站中有一个目录,有一堆临时的PHP生成的PDF文件。.htaccess用原始请求重写查询字符串

mysite.com/crm/pdfs/

我/坐落在PDF文件.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

使用此规则在您/pdfs/.htaccess

RewriteEngine On 
RewriteBase /crm/pdfs/ 

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

好,这是迄今为止我已经得到最接近的一次。现在,当请求pdf时,我被转移到该目录内的404页面,而不是一直返回到主索引页面。该目录内有一个index.php文件。 – 2014-10-03 14:01:18

+0

这是你的完整URL:'mysite.com/crm/pdfs/somepdf.pdf'?现在试试我的更新规则。 – anubhava 2014-10-03 14:02:47

+1

你摇滚,@ anubhava – 2014-10-03 14:04:13