我试图通过长过滤条件查询创建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]
..依此类推,
(我认为)这是一个非常糟糕的实现。必须有更清洁,更专业的方法来解决此问题。 (这些过滤变量的顺序是固定的,但它们的存在不是固定的。)
是否有一种方法可以使“简单”“一行”条件处理该超长网址?
提前谢谢!