$_GET 来自 ?url=http://google.com 的 URL
我正在为我的网站制作一个重定向脚本,我使用 htaccess 重写 URL,使其看起来更好。
例如。 http://localhost/r/http://google.com
是 URL,但是当我打印该值时,它显示如下 http:/google.com
.
缺少一个 /
,我该如何修复?
编辑:
重写规则:RewriteRule ^r/(.*)/$ /system/offsite/redirect/index.php?url=$1 [L]
感谢您的帮助:)
I'm making a redirect script for my site, I use htaccess to rewrite the URL so it looks nicer.
eg. http://localhost/r/http://google.com
is the URL, but when I printing the value it shows up like this http:/google.com
.
One /
is missing, how can I fix that?
Edit:
Rewrite rule:RewriteRule ^r/(.*)/$ /system/offsite/redirect/index.php?url=$1 [L]
Thanks for any help :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
此行为是由于 Apache 在映射之前删除了空路径段。但您可以通过 THE_REQUEST 访问原始请求的 URI 路径:
This behavior is due to Apache that removes empty path segments before mapping it. But you can access the original requested URI path via THE_REQUEST:
使用 php urlencode 函数
编辑:
并在索引中.php 文件
Use php urlencode function
EDIT:
and in your index.php file
我认为 REQUEST_URI 变量将具有正确的文本。像这样使用它:
I think REQUEST_URI variable will have correct text. Use it like this: