簡體   English   中英

在htaccess中結合重寫規則將停止對$ _GET變量的訪問

[英]combining rewrite rules in htaccess stops access to $_GET variables

在開始之前,請允許我說我已經做了大量的研究來弄清楚這一點,但是我認為我對這個問題的了解不足以找到解決方案。

在我的.htaccess我有一個重寫規則,將通配符子域發送到portal/index.php ,並將子域作為get參數。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{HTTP_HOST} ^(.+?)\.mywebsite\.com$
RewriteRule .* /portal/index.php?sub_access=%1 [L]

除了無法在腳本中使用$_GET變量這一事實之外,這非常有效。 如果我訪問portal.mywebsite.com/login/?reset ,則使用var_dump()總是會產生array(1) { ["sub_access"]=> string(6) "portal" }

有沒有一種方法可以將$_GET變量附加到.htaccess中生成的變量中? 我確定我可以通過抓取url來創建自己的get變量捕獲,但是我寧願不失去對這一功能的訪問權限。

I <3 $_GET

更改

RewriteRule .* /portal/index.php?sub_access=%1 [L]

RewriteRule .* /portal/index.php?sub_access=%1 [L,QSA]

然后追加剩余的查詢字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM