htaccess 重写相同页面名称冲突

htaccess 重写相同页面名称冲突

我的 htaccess 文件有以下两行

RewriteRule ^payment payment.php
RewriteRule ^payment-confirmed payment-confirmed.php

当尝试访问 payment-confirmed.php 时,它只会转到 payment.php(付款) - 我猜这是因为它只读取了第一个单词并认为它已经找到了位置。

有什么方法可以配置我的 htaccess 文件来避免这种情况吗?

答案1

三种不同的方式:

  1. 使用别名代替重写:
    别名付款 payment.php
    别名 payment-confirmed payment-confirmed.php
  1. 包括一个$,表示“字符串的结尾”:
    重写规则^payment$ payment.php
    重写规则^payment-confirmed$ payment-confirmed.php
  1. 移动这些行,以便首先检查最具体的行:
    重写规则^payment-confirmed$ payment-confirmed.php
    重写规则^payment$ payment.php

相关内容