【发布时间】:2021-08-21 07:25:15
【问题描述】:
我们的 htaccess 中有代码,可为移动用户提供不同的 Web 模板,例如
RewriteCond %{HTTP_USER_AGENT} "Mobile"
RewriteCond %{REQUEST_URI} "!_mob.php"
RewriteRule ^(.*).php$ /$1_mob.php [L,QSA]
因此,如果条件评估为真,文件 foo.php 将在内部重写为 foo_mob.php。 现在我们有一个额外的 'pretty-url' 指令,它将描述性类别和产品页面名称重写为基于查询字符串的内部格式,例如
RewriteCond %{REQUEST_URI} ^/category1\.htm
RewriteRule ^.*$ /index.php?cPath=1 [L,QSA]
结合以上内容,这应该会在移动设备上向用户显示模板 index_mob.php。多年来,这在 Apache 服务器上一直运行良好,但在我们现在转移到 LiteSpeed 服务器后不再运行。移动模板显示为带有显式 .php 扩展名的请求,但不是那些首先通过重写到 index.php 的请求(还包括被重写为 index 的根 / .php 默认)
任何解决问题的帮助将不胜感激。
【问题讨论】:
-
能否请您在您的问题中发布完整的 htaccess 文件,以及以下信息:从哪个 url 到您要重写/重定向的哪个 url?谢谢。
-
@RavinderSingh13 上面的细节应该足够了。我通过广泛的测试将其缩小到这一点。 htaccess 文件的其余部分对此没有影响。
标签: .htaccess url-rewriting litespeed