1
我無法使用.htaccess進行內部重寫(即,使用請求的URL形成內部請求,然後將其提供給客戶端,他們仍然只能看到原始請求的URL)只有一個URL,其中只有一個參數已經過優化,其餘請求參數仍被附加。堆棧上的其他帖子只涉及一個相關參數,或者希望每參數重定向。.htaccess - 僅針對一個參數的內部友好URL重寫
即,
- https://new.mysite.com/overhoringen/open/7應內部請求https://new.mysite.com/overhoringen/open?testId=7
- https://new.mysite.com/overhoringen/open/9?other=param&more=param應內部請求 https://new.mysite.com/overhoringen/open?testId=9&other=param&more=param
我可以用於第一子彈,一個單一的參數重寫這樣做;
RewriteEngine on
RewriteBase/
#Prettify test
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?overhoringen/open/([^/]+)/?$ /overhoringen/open.php?testId=$1 [L]
然而,我不能確定如何捕獲請求查詢在端部,然後將其附加到內部重定向(如果存在的話),而不?
仍然在前面(以避免open?testId=9?other=param&more=param
)等。
幫助,這將是非常酷。 :]
你需要[QSA參數](https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa) – akond
@akond雖然這看起來很完美,但php $ _GET讀取仍只記錄testId參數..:/ – Isaiah
@akond我將QSA參數附加爲[L] [QSA],而不是[L,QSA],這是問題所在 – Isaiah