php – Diggbar modrewrite-他们如何通过modrewrite传递URL?

使用新的Diggbar,您可以将http://digg.com放在您当前所在的任何URL之前,它将创建一个Digg短URL.我只是假设他们通过modrewrite做到这一点(虽然我不确定,因为我是新手).

这是怎么做到的?在我尝试使用我正在处理的网站时,我觉得它爆炸了.

我希望能够做到以下几点:

http://example.com/https://stackoverflow.com/question/ask

并有一个modrewrite,允许这样做

http://example.com/index.PHP?url=https://stackoverflow.com/question/ask

但是当我使用这个modrewrite时:

RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)$/message.PHP?id=$1 [L]

它不起作用.我究竟做错了什么?

解决方法:

您必须从request line获取值,因为Apache会删除空路径段.最初请求的URI路径/ http:// foobar /成为/ http:/ foobar /.但请求行(THE_REQUEST)保持不变:

RewriteCond %{THE_REQUEST} ^GET\ /(https?://[^\s]+)
RewriteRule ^https?:/ index.PHP?url=%1 [L]

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...