【问题标题】:.htaccess Rewrite with Original Request Appended to Query String.htaccess 重写,原始请求附加到查询字符串
【发布时间】:2014-10-03 00:00:29
【问题描述】:

我的站点中有一个目录,其中包含大量 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 中获得所需的结果?

【问题讨论】:

    标签: php apache .htaccess pdf mod-rewrite


    【解决方案1】:

    在您的/pdfs/.htaccess 中使用此规则:

    RewriteEngine On
    RewriteBase /crm/pdfs/
    
    RewriteRule ^(.+?\.pdf)$ index.php?p=$1 [L,QSA,NC]
    

    【讨论】:

    • 嗯,这是迄今为止我得到的最接近的。现在,当请求 pdf 时,我被转移到该目录内的 404 页面,而不是一直回到主索引页面。该目录中有一个 index.php。
    • 您的完整网址是:mysite.com/crm/pdfs/somepdf.pdf?现在试试我更新的规则。
    猜你喜欢
    • 2010-11-06
    • 2011-12-11
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多