.htaccess htaccess重写规则不能在移动的设备上运行-我的正则表达式有什么问题?

u5rb5r59  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(110)

在我的.htaccess文件的最顶端,我有:

`# BEGIN Random redirect Fedbackurl
RewriteEngine On
RewriteRule ^.example.com/feedback/?.$ /random.php [L]
# END Random redirect Feedbackurl`

其思想是将任何对www.example.com的请求example.com/feedback(以及任何尾随参数)发送到random.php文件中,该文件将进行一些计算并将访问者发送到一个新的url。
该代码在桌面上运行良好。
但在移动设备上,它只是登陆example.com/feedback/(没有发生重定向)。
随机. php文件:<?php $random = rand(1,17); $query = $_SERVER['QUERY_STRING']; header("Location: https://example.com/feedbackformular?sp=".$random."&".$query); exit(); ?>
我尝试将.htaccess代码一直上移,因为我认为它没有触发是因为.htaccss中的其他内容

uhry853o

uhry853o1#

您试图猜测RewriteRule是如何工作的,以及如何实现它。但是您猜错了。您真的应该看一看文档。它质量很好,有些带有很好的示例。您将学到很多东西,并且在了解该技术实际工作原理后能够实现自己的解决方案。
我非常怀疑你发布的实现做了任何有意义的事情。你说“代码在桌面上工作得很好",但我看不出这是怎么回事。
下面是你试图制定的规则的一个变体,它应该会起作用,就你在问题中给出的模糊描述而言:

RewriteEngine on
RewriteCond %{HTTP_HOST} \.example\.com$
RewriteRule ^/?feedback/?$ /random.php [L]

下面是你在这里使用的Apache重写模块的文档:
https://httpd.apache.org/docs/2.4/rewrite/intro.html
https://httpd.apache.org/docs/current/mod/mod_rewrite.html

相关问题