我有几条标准规则,即在网址末尾添加斜杠:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [R=301,L]
Ajax照片库正在为#{1}}之类的网址添加一些哈希#。我无法理解htaccess阻塞或散列字符串的行为。但是它会使这个和画廊停止工作。
我的想法可能是这里需要使用htaccess来避免将此规则应用于哈希字符串。
请给我一个解决方案,因为我甚至无法理解那里出了什么问题。
URL/#photoset_photo_empty_progress
答案 0 :(得分:2)
Ajax照片库正在为#{1}}之类的网址添加一些哈希#。我无法理解htaccess阻塞或哈希字符串的作用。但是它会使这个和画廊停止工作。
URL/#photoset_photo_empty_progress
是URL fragment的一部分,浏览器使用它来确定应如何处理内容。它用于命名锚点,告诉浏览器滚动到页面的特定部分,以及由javascript(在浏览器/客户端上)使用。 片段永远不会在请求中发送到服务器。服务器根本看不到片段,它只针对客户端。
如果您向网络服务器发送请求:#
,则服务器在请求中看到的唯一内容是http://myserver.com/index.php#site-map
。没有GET /index.php HTTP/1.1
。因此,您的重定向基本上删除了通过javascript放置在那里的片段。没有办法通过服务器绕过它,因为它不知道浏览器是否存在片段。
可能的解决方法: