【问题标题】:htaccess rule issue in redirecting the url重定向 url 时的 htaccess 规则问题
【发布时间】:2021-09-04 06:39:34
【问题描述】:

我想将以下所有模式网址重定向到“?”之前网址 即

Xyz.com/worksheet/rebus/?random=testing11
Xyz.com/worksheet/rebus/?abc
Xyz.com/worksheet/rebus/?l=1

应该被重定向到

Xyz.com/worksheet/rebus/

我尝试了很多东西,但都没有成功。我该如何使用 .htaccess

尝试的规则

RewriteBase /worksheet/
RewriteRule ^rebus/?$ /worksheet/rebus/ [L,R=301]

总体

RewriteEngine On
RewriteBase /worksheet/
RewriteCond %{THE_REQUEST} \s/(rebus)/\?(\S+)\s [NC]
RewriteRule ^  /worksheet/%1/ [R=301,L]
#RewriteRule ^rebus/?$ /worksheet/rebus [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1&showSol=$3 [L,QSA]

【问题讨论】:

  • 欢迎来到 SO,请在您的问题中添加您尝试过的 htaccess 规则文件,谢谢
  • @RavinderSingh13 完成
  • 感谢您这样做。您在浏览器中点击 Xyz.com/worksheet/rebus/?random=testing11 链接?如果是,那么它应该从后端的哪个文件中获取?
  • 我需要一个使用 .htaccess 的重定向规则,它不依赖于后端
  • 我明白了,但是每个页面/Uri 都可以在后端将它重写为 index.php 或 index.html 之类的文件。像这样,您的 URL 应该打印出任何文件吗?

标签: .htaccess redirect mod-rewrite url-rewriting friendly-url


【解决方案1】:

这样吧:

RewriteEngine On
RewriteBase /worksheet/

# \?\S matches at least one character after ?
RewriteCond %{THE_REQUEST} \s/(worksheet/rebus)/\?\S [NC]
RewriteRule ^ /%1/? [R=301,L]

RewriteRule ^rebus/?$ /worksheet/rebus? [L,R=301,NC]

# skip all rules for real files and directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?url=$2&tableName=$1&showSol=$3 [L,QSA]

【讨论】:

  • 无效的解决方案,进行无限重定向
  • 您是否尝试清除浏览器缓存?你用什么网址来测试?还有更多规则吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 2014-11-12
  • 2017-08-29
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多