【问题标题】:RewriteRule with two get parameters具有两个获取参数的 RewriteRule
【发布时间】:2015-01-06 22:13:50
【问题描述】:

我有一个这样的文件夹/文件结构:

www.example.com/a/<optional subfolder>/file.png

我希望有一个 RewriteRule 将“a”作为第一个参数,之后的所有内容(file.png 或 subfolders/file.png)传递给一个名为 file.php 的文件,所以如果用户访问

www.example.com/a/file.png (this is not an actual file path, it's somewhere else)

应该改写成

www.example.com/file.php?user=a&file=file.png

www.example.com/a/random/subfolders/here/file.png

将被改写为

www.example.com/file.php?user=a&file=random/subfolders/here/file.png

我尝试了很多我在 Internet 上找到的 RewriteRules,其中一个甚至可以工作,但不适用于子文件夹。由于我对正则表达式一无所知,因此非常感谢您的帮助^^

【问题讨论】:

    标签: regex .htaccess mod-rewrite parameters get


    【解决方案1】:

    尝试将此规则添加到文档根目录中的 htaccess 文件中:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/(.+)$ /file.php?user=$1&file=$2 [L,QSA]
    

    【讨论】:

      猜你喜欢
      • 2017-10-21
      • 2017-10-16
      • 2016-12-27
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      相关资源
      最近更新 更多