使用新的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]