微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐