Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 Apache mod_重写规则,用于将url从带有目录的url重定向到带有哈希标记的url_Php_Facebook_.htaccess_Mod Rewrite - Fatal编程技术网

Php Apache mod_重写规则,用于将url从带有目录的url重定向到带有哈希标记的url

Php Apache mod_重写规则,用于将url从带有目录的url重定向到带有哈希标记的url,php,facebook,.htaccess,mod-rewrite,Php,Facebook,.htaccess,Mod Rewrite,我试图用mod_rewrite编写一个重定向规则,但不知怎么的,它从来都不起作用,所以我一定是做错了什么: 下面是我在一个.htaccess文件中定义的重写规则,应该注意的是,在这个上面还有一个块,来自WordPress,我尝试将这个块和下面的块组合成一个重写规则,看看这是否是问题所在,但也没有解决问题。无论如何,这就是我所拥有的: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} =fa

我试图用mod_rewrite编写一个重定向规则,但不知怎么的,它从来都不起作用,所以我一定是做错了什么:

下面是我在一个.htaccess文件中定义的重写规则,应该注意的是,在这个上面还有一个块,来自WordPress,我尝试将这个块和下面的块组合成一个重写规则,看看这是否是问题所在,但也没有解决问题。无论如何,这就是我所拥有的:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} =facebookexternalhit\/[0-9]+(\.[0-9]+)*
RewriteRule ^/hash/([A-Za-z0-9-]+)/?$ \#$1 [R]
</IfModule>
重写第二部分检查请求是否是通过Facebook发出的,在我测试重写规则的过程中,到目前为止,我不确定这是否有效,但我在多个StackOverflow问题中遇到了它,所以我假设这很好,老实说,这并不重要,我可能会一起忽略该条件,只是贴在这里以防万一它被证明是无效的

重写规则部分应该重定向所有包含/hash/too url的url,所以这意味着也应该重定向浏览器

我已经尝试了上面的一系列不同的迭代,但无论我尝试了什么,它似乎都无法正常工作,因此这个问题是,有人看到代码有什么问题吗?1.htaccess文件中定义了多个块,这会是一个问题吗

最后,这是一个有效的解决方案吗?实际的根本问题是: 我有一个网站,它使用散列标签导航到某些页面,在该网站上有一些共享按钮,共享用户正在查看的当前url,Twitter LinkedIn和Google+都处理包含散列标签的共享url,没有问题,但如果将其作为散列标签发送,Facebook会从共享器中的url中删除该散列标签,如果我尝试将其作为url编码的%23散列标签发送,Facebook会报告url上有404,因此我需要为Facebook制定一个解决方案,在那里我可以与Facebook共享一个没有散列标签的url,然后在访问者或Facebook共享api“敲门”时将这些url重定向到网站实际理解的内容


非常感谢您的帮助

如果您要将FB scraper重定向回包含散列的URL,那么您将一无所获–scraper希望为您要共享的每段内容提供一个单独的URL,它可以从中读取该内容的OG信息。只是不同的散列部分并不能使它们成为不同的URL。Boo,那么我该如何克服这个问题呢?这是如何被全世界的网络开发者所接受的呢?为什么Facebook不支持散列标签呢?他们真的那么反对推特吗?为什么接下来的5-10个大型社交媒体平台都支持哈希标签呢?无论如何,对于最后一段中描述的问题,任何一种解决方案都是高度赞赏的