这种过滤器查询是否有较短的版本?

时间:2019-01-02 20:11:25

标签: .htaccess mod-rewrite

我试图通过长过滤条件查询创建SEO友好的url,但是我很难理解mod重写条件和表达式的工作原理。

我有这个过滤器网址(这是由php生成的最长的变体形式)

mydomain.com/en/items/CategoryID(INT)/Category_name(STR)/Sub_category_ID(INT)/Sub_category_name(STR)/list-type=(STR)/item-type=(STR)/difficulty=(INT)/author=(INT or STR)/page=(INT)

这取决于不同的情况(是否启用过滤器) 例如,可以是:

mydomain.com/en/items/page=2(如果仅选择页面)或

mydomain.com/en/items/1/category-ones-name/page=2(如果选择了类别和页面)

..等等

到目前为止,在我的.htacess文件中,对于每种可能的变体,都有大量重复行,如下所示:(按照上面的示例)

RewriteRule ^en/items/page=([0-9]+)$ index.php?page=$1 [L]
RewriteRule ^en/items/([0-9]+)/([A-Za-z0-9-]+)/page=([0-9]+)$ index.php?category=$1&page=$3 [L]

..依此类推,

(我认为)这是一个非常糟糕的实现。必须有更清洁,更专业的方法来解决此问题。 (这些过滤变量的顺序是固定的,但它们的存在不是固定的。)

是否有一种方法可以使“简单”“一行”条件处理该超长网址?

提前谢谢!

0 个答案:

没有答案
相关问题