2016-04-13 26 views
2

我設法調用一個頁面,這個結構:的.htaccess使用參數和QUERY_STRING

/page/my-selection.html?p=1 
/page/my-selection2.html?p=3 
/page/my-selection3.html?p=6 

在我的選擇,我的-選擇2,...是一個數據庫鍵和P分頁。 我想在一個頁面上重定向它,它完成所有的魔術,但是我如何使用mod_rewrite來使用這兩個RewriteCond的變量?

我嘗試了這種方式,咬它不工作:

RewriteCond %{REQUEST_URI} page/(.*)\.html [NC] 
RewriteCond %{QUERY_STRING} ^p=(.*) 
RewriteRule page/(.*)\.html$ /rewrites/page.php?selection=$1&pagination=$2 [NC] 

例子:

  • /page/my-selection.html?p=1應該重定向到 /重寫/page.php?selection=my-selection &分頁= 1
  • /page/my-selection2.html?p=3應該重定向到 /rewrites/page.php?selection=my-selection2 &分頁= 3
  • /page/my-selection3.html?p=6應該重定向到
    /rewrites/page.php?selection=my-selection3 &分頁= 6

任何想法?

回答

3

嘗試使用:

RewriteCond %{QUERY_STRING} ^p=(.*) 
RewriteRule ^page/(.*)\.html$ /rewrites/page.php?selection=$1&pagination=%1 [NC,L] 

重寫規則反向引用:這些是形式$ N的反向引用 (0 < = N < = 9),其提供對分組的部件(在 括號)的模式,從RewriteRule中受到 當前的RewriteCond條件集合。
RewriteCond反向引用:T這些是%N(1 < = N < = 9), 的反向引用,它們提供從 條件的當前集合中最後匹配的RewriteCond訪問 模式的分組部分(同樣在括號中)。 http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond

+1

這是我需要的exacly!非常感謝! – Marco