【发布时间】:2020-10-27 11:10:54
【问题描述】:
我现在对客户的网站有点问题。
基本上,他们在博客页面上的图片会显示在桌面版网站上,但不会显示在智能手机版上。
这是因为虽然他们用于博客的所有照片都已上传到 wordpress,但他们在 HP 访问权限中写下了以下内容
RewriteCond %{REQUEST_URI} !/sp/
RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^(.*)$ sp/$1 [R]
RewriteBase /
RewriteCond %{REQUEST_URI} /sp/
RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^sp/(.*)$ $1 [R]
RewriteBase /
我对 htaccess 不是特别精通,但我认为这意味着任何时候在列出的设备上查看页面时,都会立即将 sp 标记到域名的末尾。
不幸的是,这会产生一个问题,即图像文件 (.com/wp-content/uploads) 的常规路径被读取为 (.com/sp/wp-content/uploads) ,结果什么也没有。
我想解决这个问题的唯一办法是下载博客的每一张图片并上传一个专门为图片指定的文件夹,尽管这需要相当长的时间。
tl;DR 是否有代码可以用来防止 htaccess 将 sp 添加到服务器中的特定页面?
任何帮助将不胜感激!
【问题讨论】:
-
首先为移动设备添加
/sp/有什么特别之处吗?可以删除整个规则吗?如果您希望它更具选择性,您可以为第一个%{REQUEST_URI}%检查添加更具体的规则,以将其排除在重写某些 URL 之外。 -
“我可以使用代码来阻止 htaccess 将 sp 添加到服务器中的特定页面吗?” - 你在说什么“页面”?它们究竟有多“具体”,您确定它们的标准是什么?
-
我认为更好的方式来表达我的问题是如何防止 htaccess 在通过移动设备浏览页面时将 /sp 后缀添加到图像中。此外,该网站的设计方式使得 /sp 是查看为移动设备设计的内容所必需的