2017-02-03 15 views
0

我有已經有創建的RewriteRules網頁和PHP重寫規則和PHP:添加了新的「PARAM = YES?」到URL

foo.com/section/item/number --> foo.com/section.php?item=number 
foo.com/story/number ---> foo.com/story.php?id=number 

現在我想包括所有的額外參數百的網頁

foo.com/section/item/1?param=yes 
foo.com/story/34?param=yes 

我嘗試:

if (isset($_REQUEST['param'])) 
{ 
    print "IT WORKS!"; 
} 

它與 'foo.com'(以下簡稱 '的index.php')只適用於無重寫規則。

我也試圖通過增加QSA到重寫規則

RewriteRule ^story/([^/]+) /story.php?id=$1 [L, QSA] 

我在做什麼錯?非常感謝你。

回答

1

我無法測試,但我認爲這會做你需要什麼

RewriteCond %{QUERY_STRING !&param=yes 
RewriteRule ^/?c/(.*)$ /%1?%{QUERY_STRING}&&param=yes [L] 

首先這樣可以確保如果請求已經PARAM = YES在裏面,什麼都不做,否則追加要麼? param = yes或& param = yes,如果請求已經有?在裏面。

+0

謝謝杜安,它的工作原理,但只有'url&param = yes',而不是'url?param = yes'。它也不適用於以'/'結尾的網址。 – Hookstark