首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝文件请求并使用.htaccess重定向到.php页面

拒绝文件请求并使用.htaccess重定向到.php页面
EN

Stack Overflow用户
提问于 2013-04-16 05:45:30
回答 2查看 780关注 0票数 2

我正在使用wordpress,我正在使用.htaccess,但我并不真正了解它的功能。

场景如下:当用户试图从上传目录(例如:http://[localhost]/wordpress/uploads/video.mp4)访问文件时,他被重定向到一个php页面,该页面决定用户是否具有下载/查看该文件的权限(例如,重定向到以下内容:http://[localhost]/wordpress/serve.php?filename=video.mp4)。

有人知道我应该怎么处理.htaccess吗?

.htaccess文件应该放在哪个目录中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-16 06:26:50

为此,您可以使用WordPress根.htaccess文件,也可以在上传目录中创建一个。我建议你坚持使用你已经在WordPress中使用的文件。

/wordpress/.htaccess 修订的内容

代码语言:javascript
复制
RewriteBase /wordpress/
# ^ your base should already be set - if it hasn't, put this just under RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^uploads\/(.*) serve.php?filename=$1 [R,L]

PHP注意:如果你不想重定向,你仍然可以把它隐藏在实际的文件名下,它仍然会返回PHP响应。您可以通过删除R标志来完成此操作。(这将使最初请求的URL保留在地址栏中。)

编辑:根据您的评论,并显示您的.htaccess文件所在的位置,尝试以下操作:

代码语言:javascript
复制
RewriteBase /wordpress/wp-content/uploads/
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) /wp-content/themes/fun&share/serve.php?filename=$1 [R,L]

编辑2:我很抱歉,我没有解释RewriteBase。请参考下面的代码:

代码语言:javascript
复制
RewriteEngine On
RewriteBase /wordpress/wp-content/uploads/
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) ../themes/fun&share/serve.php?filename=$1 [R,L]

.htaccess文件必须放置在您的uploads folder中。

票数 2
EN

Stack Overflow用户

发布于 2013-04-16 10:11:56

尝试将这些规则添加到/wordpress/uploads目录中的htaccess文件:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /wordpress/serve.php?filename=$1 [L]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16025218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档