Javascript 如果没有查询字符串,则添加查询字符串
是否可以检查页面是否有查询字符串,如果没有,则添加查询字符串Javascript 如果没有查询字符串,则添加查询字符串,javascript,.htaccess,redirect,url-redirection,Javascript,.htaccess,Redirect,Url Redirection,是否可以检查页面是否有查询字符串,如果没有,则添加查询字符串 我目前正在使用301重定向,但我想知道是否有更快/更干净的方法 示例:如果用户转到website.com/reflection,则他们将被重定向到website.com/reflection?code 如果用户转到website.com/reflection?code2,则不会重定向 谢谢大家! 编辑:我不介意是客户端还是服务器端,但我更喜欢使用最干净、对用户影响最小的方法 编辑2: 这是我尝试使用重新布线规则后的访问权限。然而,当访
我目前正在使用301重定向,但我想知道是否有更快/更干净的方法 示例:如果用户转到
website.com/reflection
,则他们将被重定向到website.com/reflection?code
如果用户转到website.com/reflection?code2
,则不会重定向
谢谢大家!
编辑:我不介意是客户端还是服务器端,但我更喜欢使用最干净、对用户影响最小的方法
编辑2:
这是我尝试使用重新布线规则后的访问权限。然而,当访问/转诊时,什么也没有发生
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^referral/?$ /referral.php?123
Options -Indexes
ErrorDocument 403 /404.php
ErrorDocument 404 /404.php
# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]
寡妇位置
如果window.location.search
返回空字符串,则没有查询参数
然后,您可以使用此行设置查询参数window.location.search=“key=value”
注
- 如果这样做,页面将刷新
- 主要浏览器都完全支持它,请参见
- 这里给出的答案假设您可以访问窗口对象(即:您是客户端)
- 这个解决方案也有点“脏”,因为它将加载页面,然后从客户端重定向(更好的处理方法是在服务器上)
- 您可以在服务器端使用mod_rewrite来避免额外的页面加载。检查
%QUERY\u STRING
是否为空(将其与^$
进行比较),如果为空,则重定向到另一页。如果不是,则什么也不做:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^referral/?$ /referral.php?code
您尝试过什么吗?您希望它是客户端还是服务器端?您想要Javascript解决方案吗?这并不重要。我更喜欢使用最干净的东西。我目前正在使用301重定向,但我想知道是否有什么东西对用户来说不那么凌乱/更快。它似乎对我不起作用。我已经将我当前的htaccess作为编辑添加到原始post中。您可能需要重新排序一些规则。
L
标志告诉Apache停止检查以下匹配的规则,因此它可能无法通过。我已将其上移到顶部,但它似乎仍然不起作用。我感谢你的帮助!将L标志添加到该规则中如何?也许它仍然符合你在底部的“一网打尽”规则。还有,它的确切URL应该是什么?是真的/引用(如域的根)吗?添加L没有帮助。是的,url是https://www.website.com/referral