2017-05-10 20 views

回答

0

/givenresource/givenid/givenresource.php_ID=givenid

我假設?遺漏只是一個錯字,它應該是/givenresource.php?_ID=givenidID是大寫的。其他假設:

  • givenresource是可變的並且被限制在字符a-z(小寫)和-
  • givenid是可變的,是數字,只包含字符0-9

在這種情況下,嘗試在.htaccess文件使用mod_rewrite如下:

RewriteEngine On 

RewriteRule ^([a-z-]+)/(\d+)$ $1.php?_ID=$2 [L] 

/givenresource/?searchparam=searchforthis&searchparam2=searchforthis2/givenresource.php?searchparam=searchforthis&searchparam2=searchforthis2

這就驗證查詢字符串開始searchparam和整個查詢字符串然後被複制到替代(目標URL):

RewriteCond %{QUERY_STRING} ^searchparam= 
RewriteRule ^([a-z-]+)/$ $1.php [L] 
+0

我們收到的規格中的默認搜索參數使用「_id」作爲參數。所以_是故意的。此外,給定的資源和givenid不是靜態的,而且各不相同。主要是爲什麼我們要使用重定向。 – devshm

+0

好的,但是在這種情況下,你可能需要一個'?'''''_id ='。小寫「ID」? - 你在問題中使用了大寫字母嗎? 'givenid'只是數字還是字母數字?或者是其他東西? – MrWhite

+0

我已經更新了我的答案。 – MrWhite