index.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1" />
  6. <link rel="canonical" href="https://jamesfengcao.gitlab.io/uweb/en/redirect/" />
  7. <link rel="stylesheet" href="../style.css#" type="text/css" />
  8. <title>Resource redirection</title>
  9. <script>
  10. function findLang(){
  11. let href = location.href;
  12. for(let i=href.length-1;i>0;i--){
  13. if('/'==href.charAt(i) && '/'==href.charAt(i-3))
  14. return i;
  15. }
  16. return 0;
  17. }
  18. function nav2(page){
  19. let i = findLang();
  20. location.href = location.href.substring(0,i+1)+page;
  21. }
  22. function nav2Lang(lang){
  23. let i = findLang();
  24. let href = location.href;
  25. location.href = location.href.substring(0,i-2)+lang+location.href.substring(i);
  26. }
  27. </script>
  28. </head>
  29. <body>
  30. <header class='header'>
  31. <a class="logo" href="javascript:void(0)" onclick="return nav2('index.html#')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html#')">Tags</a>
  32. <a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
  33. <nav>
  34. </nav>
  35. </header>
  36. <br />
  37. <div class="container">
  38. <h1 class="title">Resource redirection
  39. <br>
  40. <span class="subtitle"></span>
  41. </h1>
  42. <ul class="tags">
  43. <li><a href="../tags/redirection/index.html#">redirection</a> </li>
  44. </ul>
  45. <p>⚠️<span style="color:red">Redirection forwards cookies</span> with the setting option &quot;Redirect cookies&quot; enabled, so use the option with care.</p>
  46. <h4 id="setting-options-url-redirection-vs-resource-redirection">Setting options: &quot;Url redirection&quot; vs. &quot;Resource redirection&quot;</h4>
  47. <p>&quot;Url redirection&quot; redirects the main/page url only while &quot;Resource redirection&quot; is for all urls in the page.</p>
  48. <h4 id="global-redirection">Global redirection</h4>
  49. <p><a href="i:60/data/data/info.torapp.uweb/files/config.html:https://jamesfengcao.codeberg.page/en/searchurl/config.html">Global redirection</a> is enabled with the setting option &quot;Resource redirection&quot; or both &quot;Url redirection&quot; and &quot;Redirect cookies&quot;.</p>
  50. <p>When a valid global redirection url is set, the &quot;default.redirect&quot; has no effect, and any url resource is fetched with the new url by appending the original url to the global redirection url.</p>
  51. <ul>
  52. <li>
  53. <p>If the global redirection url ends with '/', '?', or '=', then the resource is fetched with by the url &quot;[global redirection url] + [url]&quot;. For example, &quot;https://domain.com/pathXXX/https://cnn.com&quot;.</p>
  54. </li>
  55. <li>
  56. <p>(to provide more options to users) If the global redirection url does not end with '/', '?' or '=', it means the global redirection url is naked. then the resource is fetched with by the url &quot;[global redirection url] + '/'+ [scheme]+ '/' + [url without scheme]&quot;. For example, when the global redirection url is &quot;https://domain.com/pathXXX&quot;, the real url to visit &quot;https://cnn.com&quot; is &quot;https://domain.com/pathXXX/https/cnn.com&quot;.</p>
  57. </li>
  58. </ul>
  59. <p>Example: &quot;https://muweb.pages.dev/redirect?&quot;</p>
  60. <p><a href="searchurl/cloudflare/redirect.js">global redirection code for cloudflare worker</a> free deployment: The global redirection url is &quot;https://subdomain.workers.dev/&quot;, which is just the worker's domain name.</p>
  61. <h4 id="defaultredirect-valid-only-without-global-redirection-url">&quot;default.redirect&quot; (valid only without global redirection url)</h4>
  62. <p>Click the following links to append mirrors to the file &quot;default.redirect&quot;:<br>
  63. <a target="_self" href="i:0gdefault.redirect:../../zh/searchurl/txt/redirect.cfg">google recaptcha mirror</a></p>
  64. <p>Each line of the file &quot;default.redirect&quot; has the following format:<br>
  65. [domain name]:[regular expression]:[replacement expression]</p>
  66. <p>in which &quot;[regular expression]&quot; is as defined by java language, and cannot have &quot;:&quot; inside; if empty, it defaults to be same as &quot;[domain name]&quot;.</p>
  67. <h5 id="ways-to-enable-domain-redirection">Ways to enable domain redirection:</h5>
  68. <ul>
  69. <li><a href="../urls/index.html#">Long pressing the image button</a>。</li>
  70. <li>Long pressing the setting button, enable the option &quot;url redirection&quot;.</li>
  71. <li>Long pressing the setting button, enable the option &quot;Resource redirection&quot;.</li>
  72. </ul>
  73. </div>
  74. <p>Last Modified: 12 December 2024<br>
  75. update AI<br>
  76. <pre></pre>
  77. </p>
  78. <script id='jsgiscus'
  79. src='https://giscus.app/client.js'
  80. data-repo="torappinfo/uweb"
  81. data-repo-id="MDEwOlJlcG9zaXRvcnkzMDIyMDU3MjE="
  82. data-category="Announcements"
  83. data-category-id="DIC_kwDOEgNLGc4CQjsh"
  84. data-mapping="title"
  85. data-strict="0"
  86. data-reactions-enabled="1"
  87. data-emit-metadata="0"
  88. data-input-position="top"
  89. data-theme="light"
  90. data-lang="en"
  91. data-loading="lazy"
  92. crossorigin="anonymous" async>
  93. </script>
  94. <footer class="site-footer">
  95. <div class="container">
  96. &copy; 2018-2024 Richard H. Cao
  97. </div>
  98. </footer>
  99. <!-- This document is licensed under the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at <https://www.gnu.org/licenses/>. -->
  100. </body>
  101. </html>