.htaccess HTML选择菜单(不带斜杠= Google错误,在URL末尾带斜杠=双斜杠)

zpf6vheq  于 2023-05-01  发布在  Go
关注(0)|答案(1)|浏览(158)

我有一个像这样的选择菜单

<select name="languages">
  <option value="https://www.example.com/language/en">English</option>
  <option value="https://www.example.com/language/fr">French</option>
  <option value="https://www.example.com/language/de">German</option>
  <option value="https://www.example.com/language/sp">Spanish</option>
</select>

当我选择这些链接中的任何一个时,它会在地址栏中正确打开,并自动在url的末尾添加斜杠,就像这样
https://www.example.com/language/en/
但谷歌搜索控制台将其视为重定向错误。我不知道为什么。
如果我把它们像这样

<select name="languages">
  <option value="https://www.example.com/language/en/">English</option>
  <option value="https://www.example.com/language/fr/">French</option>
  <option value="https://www.example.com/language/de/">German</option>
  <option value="https://www.example.com/language/sp/">Spanish</option>
</select>

当我选择这些选项中的任何一个时,它也会正确打开,但它会在地址栏中的链接末尾添加双斜杠,如下所示
https://www.example.com/language/en//
我不知道原因,我怎么能解决这个问题,我需要摆脱谷歌重定向错误,并在同一时间摆脱双斜线在链接结束
请注意,我也不希望我的链接打开这样
https://www.example.com/language/en
问候

mwkjh3gx

mwkjh3gx1#

正如@Siguza兄弟提到我的,问题出在菜单JavaScript代码中
是这样的

<script>
$(window).ready(function() {
    $(function(){
      /*/ bind change event to select*/
      $('#languages').on('change', function () {
          var url = $(this).val() + "/"; /*/ get selected value*/
          if (url) { /*/ require a URL*/
              window.location = url; /*/ redirect*/
          }
          return false;
      });
    });
});
</script>

我把它改成了这个,现在一切都好了

<script>
$(window).ready(function() {
    $(function(){
      /*/ bind change event to select*/
      $('#languages').on('change', function () {
          var url = $(this).val(); /*/ get selected value*/
          if (url) { /*/ require a URL*/
              window.location = url; /*/ redirect*/
          }
          return false;
      });
    });
});
</script>

相关问题