Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重写深度链接的url_Php_Apache_.htaccess - Fatal编程技术网

Php 重写深度链接的url

Php 重写深度链接的url,php,apache,.htaccess,Php,Apache,.htaccess,我试图做的很简单,但没有一个stackoverflow答案能够准确地解决这个问题: 如何使用.htaccess在基本url和请求的路由之间插入哈希标记 即 将成为 http://mydomain.com/#/shop 我想使用.htaccess,因为我觉得它比服务器端php更干净。 我之所以可以这样做,是因为我使用jquery address取代href属性来接管页面上的链接。如果哈希标记没有正确放入,它就会中断。,因此您无法可靠地将其放入URL路径中。您可以这样做: RewriteRule

我试图做的很简单,但没有一个stackoverflow答案能够准确地解决这个问题:

如何使用.htaccess在基本url和请求的路由之间插入哈希标记

将成为

http://mydomain.com/#/shop
我想使用.htaccess,因为我觉得它比服务器端php更干净。 我之所以可以这样做,是因为我使用jquery address取代href属性来接管页面上的链接。如果哈希标记没有正确放入,它就会中断。

,因此您无法可靠地将其放入URL路径中。您可以这样做:

RewriteRule ^shop(.*) /hash/shop$1 [R=301,L]

只需使用带有“无转义”(NE)选项的bog标准mod_rewrite:


下面的代码有助于深度链接。如果未安装模块,则需要验证浏览器并重定向到应用商店,如果已安装,则意味着将重定向到应用内部

//Validate browser
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') == !FALSE) {
?>
<script>
    window.location = 'deeplinkexample://';
    setTimeout(function() {
        window.location = 'https://itunes.apple.com/us/app/apple/id1145838819?l=fr&ls=1&mt=8'
    }, 250);enter code here
</script>
<?php
}
//验证浏览器
if(strpos($\u服务器['HTTP\u用户\u代理'],'Safari')==!FALSE){
?>
window.location='deeplinkexample://';
setTimeout(函数(){
window.location=https://itunes.apple.com/us/app/apple/id1145838819?l=fr&ls=1&mt=8'
},250);在此处输入代码

可能的重复项在每个目录配置中没有用正斜杠作为匹配模式的前缀,即
.htaccess
我指的是
^/shop
位。应该是
^shop
Feh。再次更新。我真的应该明天回来测试以确保它是正确的。再次感谢,phil。但我真的只想让它在b中放一个哈希在基础url之后的任何内容(*)之间。
RewriteRule ^shop /\#/shop [R=301,L,NE]
//Validate browser
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') == !FALSE) {
?>
<script>
    window.location = 'deeplinkexample://';
    setTimeout(function() {
        window.location = 'https://itunes.apple.com/us/app/apple/id1145838819?l=fr&ls=1&mt=8'
    }, 250);enter code here
</script>
<?php
}