Htaccess 简单扩展重定向

Htaccess simple extension redirect

我已经尝试搜索很多解决方案,但我就是找不到。

我有一个网络服务器 运行 Apache w/PHP(mod_rewrite 已启用),我想简单地执行以下操作:

请求来自

downloadedReports/testreport.pdf

请求

downloadedReports/testreport.php

我目前尝试了以下重写代码:

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

但是根本不起作用

注意: 我不想将 url/send 目标重定向到不同的页面。我只想重写请求。

经过更多谷歌搜索和 trying/failing 我找到了解决问题的方法。现在可以正常工作了!

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

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

http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

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

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .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)$ .php [QSA,L]
</IfModule>