Htaccess简单扩展重定向

时间:2015-02-19 13:00:33

标签: php apache .htaccess mod-rewrite redirect

我尝试过为此寻找解决方案,但我根本无法找到它。

我有一个运行Apache w / PHP的websever(启用了mod_rewrite),我想简单地执行以下操作:

来自

的请求
downloadedReports/testreport.pdf

请求

downloadedReports/testreport.php

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

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

但它根本不起作用。

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

2 个答案:

答案 0 :(得分:0)

经过一些谷歌搜索和尝试/失败后,我找到了问题的解决方案。现在按预期工作!

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

答案 1 :(得分:0)

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

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

删除扩展程序 要从PHP文件中删除.php扩展名,例如yoursite.com/wallpaper.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>