Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Htaccess简单扩展重定向_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php Htaccess简单扩展重定向

Php Htaccess简单扩展重定向,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我已经尝试过为这个问题寻找很多解决方案,但我就是找不到 我有一个运行Apache w/PHP(启用mod_rewrite)的Web服务器,我只想执行以下操作: 来自的请求 downloadedReports/testreport.pdf 请求 downloadedReports/testreport.php 我目前尝试了以下重写代码: <IfModule mod_rewrite.c> Options +FollowSymLinks Options +Indexes

我已经尝试过为这个问题寻找很多解决方案,但我就是找不到

我有一个运行Apache w/PHP(启用mod_rewrite)的Web服务器,我只想执行以下操作:

来自的请求

downloadedReports/testreport.pdf
请求

downloadedReports/testreport.php
我目前尝试了以下重写代码:

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteRule .pdf $1.php [NC,L]
</IfModule>

选项+FollowSymLinks
选项+索引
重新启动发动机
RewriteRule.pdf$1.php[NC,L]
但它根本不起作用


注意:我不想重定向url/将目标发送到其他页面。我只想重写请求。

在谷歌搜索和尝试/失败之后,我找到了问题的解决方案。现在一切正常

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^.]+).pdf$ $1.php [QSA,L]

看看这篇文章,它解释了如何删除它们:

删除扩展名 要从php文件(例如yoursite.com/wallpaper.php)中删除.php扩展名到yoursite.com/wallpaper,必须添加 .htaccess文件中的以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
或我们的目的,您将其更改为:

Options +FollowSymLinks
Options +Indexes
<IfModule mod_rewrite.c>
    RewriteEngine On
    ## Block acess to dirs
    RewriteCond %{REQUEST_FILENAME} !-d
    ## Block acess to files
    RewriteCond %{REQUEST_FILENAME} !-f
    ## Block acess for links
    RewriteCond %{REQUEST_FILENAME} !-l
    ## don't do anything
    RewriteRule ^ - [L]

    RewriteRule ^([^\.]+)\.(pdf)$ $1.php [QSA,L]
</IfModule>
Options+FollowSymLinks
选项+索引
重新启动发动机
##阻止对dirs的访问
重写cond%{REQUEST_FILENAME}-D
##阻止访问文件
重写cond%{REQUEST_FILENAME}-F
##链接的块访问
重写cond%{REQUEST_FILENAME}-L
##什么都不要做
重写规则^-[L]
重写规则^([^\.]+)\.(pdf)$$1.php[QSA,L]