php - 打开页面时删除url中的某些部分
问题描述
我目前正在尝试创建一个文件下载站点。目前,如果你去
本地主机/站点/文件/下载/download.php?=CODE它将带您到带有下载链接等的指定页面。
我正在尝试删除
文件/下载/download.php部分有
本地主机/下载/代码但我似乎无法让它工作(所以我可以将它用于我的网站)。这是我的 htaccess 文件:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /upload_main/file/download/
RewriteRule ^(download)/(\w+)/?$ $1.php?download=$2 [L,QSA]
# to take care of css, js, images
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php$
RewriteRule ^download/(.+)$ /download/$1 [L,R=301]
我究竟做错了什么?
解决方案
鉴于您根据对问题的评论确定的更改后的最终 URL,这可能就是您要查找的内容:
RewriteEngine on
RewriteRule ^/?download/([a-zA-Z0-9_-]+)$ /site/file/download/download.php?=$1 [QSD,END]
这应该适用于实际的 http 服务器的主机配置,同样适用于顶级分布式配置文件(“.htaccess”)。您绝对应该更喜欢第一个位置,但也有必须使用分布式配置文件的例外情况,尽管这有明显的缺点。
推荐阅读
- php - 如何使用 php-unit 测试 Symfony BinaryFileResponse
- swift - 如何在堆栈条形图中旋转左轴标签?
- jquery - Bootstrap 3:使用 bootstrap 3 容器在同一行中创建 2 个具有自己内容的块
- python-3.x - 如何使用python API列出谷歌云平台中的所有应用服务
- kendo-ui-angular2 - 剑道数字文本框在 IE11 中不显示增量按钮
- scrapy - 如果我们在 Scarpy 中使用规则,谁来做父母?
- sybase - 如何清除sybase15.7中的事务日志?
- java - 从 Elasticsearch 中获取与我的查询匹配的 N 个随机命中
- angular - Angular5 MongoDB
- asp.net - 如何获取 web.config 转换以包含外部机密文件?