我尝试过为此寻找解决方案,但我根本无法找到它。
我有一个运行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>
但它根本不起作用。
注意:我不想重定向网址/将目标发送到其他网页。我只想重写请求。
答案 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>