這些重寫規則似乎不起作用。難道僅僅是不可能的還是我失去了一些東西如何使用.htaccess獲取多個RewriteCond中的反向引用變量
有問題的規則是第二個,注意背參考%1
RewriteCond %{REQUEST_URI} ^/([a-zA-Z\.]+)/.*$ [NC]
RewriteCond %{HTTP_COOKIE} route_controller_%1=([^;]+) [NC]
RewriteRule ^(.*)$ http://example2.com/%1/_/$1 [L]
這是我期待的事情發生。鑑於URL
http://example.com/abc/home
的第一條規則應該ABC商店%1 我想一個cookie中的第二條規則被稱爲route_controller_abc如果發現 那麼第三個規則將rewite到
http://example2.com/thevalueofthecookie/_/home
但seconf規則似乎沒有使用%1反向引用。
任何想法?
好的,我會給它一個旋風。關於重定向的未經驗證的Cookie。我打算讓我的應用程序在example2.com上進行驗證。我錯過了什麼嗎? –
不用,使用應用程序來做這件事很好,但請記住,惡意用戶總是可以編輯cookie,因此您不能信任他們的內容。用戶可以將任何東西注入'%2'中。所以,如果你知道這是一個普通的詞,那麼爲什麼不能'(\ w +)'這將有效地防止惡意注入? – TerryE
我不期待一個普通的詞,而是一個完全合格的域名。順便說一下,我無法使規則在寫入系統時運行。在RewriteCond中,我將$ 1更改爲%1。在RewriteRule中,我把'^(*。?)/.*$'改爲'^(。*)$'我用RewriteRule得到了一個內部服務器錯誤。 –