首页 > 解决方案 > 打开页面时删除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]

我究竟做错了什么?

标签: php.htaccess

解决方案


鉴于您根据对问题的评论确定的更改后的最终 URL,这可能就是您要查找的内容:

RewriteEngine on
RewriteRule ^/?download/([a-zA-Z0-9_-]+)$ /site/file/download/download.php?=$1 [QSD,END]

这应该适用于实际的 http 服务器的主机配置,同样适用于顶级分布式配置文件(“.htaccess”)。您绝对应该更喜欢第一个位置,但也有必须使用分布式配置文件的例外情况,尽管这有明显的缺点。


推荐阅读