将FQDN后面的所有内容解析为变量

时间:2016-09-27 21:44:16

标签: apache .htaccess

我试图用htaccess进行重定向但不知何故这似乎不起作用。

我想获取完整限定域名后面的所有内容并将其解析为php的变量,以便我的网址如下所示:

https://example.com/?abc.com

在后台应该这样做:

https://example.com/index.php?url=abc.com

类似的东西我已经在使用另一个链接但不知何故这似乎不起作用。

RewriteRule ^(.+)$ https://example.com/index.php?url=$1 [L]

我在这里做错了什么,我开始怀疑这是不可能的

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ https://example.com/index.php?url=$1 [QSA,L]
  

QSA | qsappend当替换URI包含查询字符串时,   RewriteRule的默认行为是放弃现有查询   string,并将其替换为新生成的字符串。使用[QSA]   flag会导致查询字符串合并。
  http://httpd.apache.org/docs/2.2/en/rewrite/flags.html#flag_qsa

您也可以使用:

RewriteRule ^(.+)$ https://example.com/index.php?url=$1%{QUERY_STRING} [L]

因为没有变量名称它不容易使用