代码之家  ›  专栏  ›  技术社区  ›  B Happy

htaccess编辑(将链接重写为其他类型)

  •  0
  • B Happy  · 技术社区  · 7 年前

    我有一个文件共享脚本,当我上传文件时,文件的下载链接如下所示: http://www.example.net/file?id=fileID

    注意,(file?id=fileID)由函数php文件给出。。而链接的原始形状:下载。php?id=文件id。

    现在当我浏览链接时 http://www.example.net/file?id=fileID ... 我找不到。。htaccess具有以下功能:

    RewriteRule ^file([0-9]*)?id=$ download.php?id=$1
    

    但仍然没有找到。。 因此,我想在浏览链接时重写原始链接以使其正常工作: http://www.example.net/file?id=fileID

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ken Sawyerr    7 年前

    这应该行得通

    RewriteRule ^file/? download.php [QSA]
    

    我使用了QSA标志,因为它保留了查询字符串并将其传递给新的URL。默认情况下,RewriteRule将丢弃查询字符串。

    编辑: 根据您的评论,使用此规则来实现您的目标。

    RewriteCond %{QUERY_STRING} ^(.*)img(.*)$
    RewriteRule ^download.php/? img.php?%1id%2 [QSA]