2017-09-02 31 views
2

如何获取变量在PHP中,从第一样

www.example.com/api/#_dwCh_RzrIo|mp4 

如何使用PHP来呼应_dwCh_RzrIo变量。

RewriteRule ^api/#(.*)|mp4$ api.php?id=$1 [L] 

请更正htaccess规则以及如何获取#_dwCh_RzrIo变量。

+1

这就是所谓的“片段”,并且浏览器不会将其作为请求的一部分发送给您的网站。你不能在其上重写规则 – Clive

+2

如果你需要在一个URL中发送一个哈希字符,那么你需要urlencode它 –

+0

当我无法获得包含#片段的完整浏览器URL时,urlencode如何工作? –

回答

1

如果编码片段部分即与#开始,那么你可以使用此规则:

Options -MultiViews 
RewriteEngine On 

RewriteRule ^api/(#[^|]+) api.php?id=$1 [B,NC,L,QSA] 

您需要使用URL这样来测试:

http://example.com/api/%23_dwCh_RzrIo%7Cmp4 
+0

谢谢,它适用于编码,但我想解决包含#的索引页面,所以我如何重定向我的页面http://example.com/api/#_dwCh_RzrIo|Cmp4到http://example.com/api/% 23_dwCh_RzrIo%7Cmp4 –

+0

这需要通过代码生成HTML源代码的JavaScript来完成,其中包含这些链接。 – anubhava

+0

你能写出完整的示例代码,因为我无法正确执行它。 –