Php Htaccess简单扩展重定向
我已经尝试过为这个问题寻找很多解决方案,但我就是找不到 我有一个运行Apache w/PHP(启用mod_rewrite)的Web服务器,我只想执行以下操作: 来自的请求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
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]