需要htaccess帮助

您好,我在htaccess文件中有这个重定向代码:它可以完美地重定向给定的页面,但如果斜杠后面有数字或字母,它就不起作用了。例如:/c/system/8就不能重定向。您能否帮助我将/c/system/后的任何内容重定向到/t/system?谢谢。
 
请使用以下代码:RewriteEngine OnRewriteCond %{QUERY_STRING} ^_t=d /?$ [NC]RewriteRule ^ / [R=301,L,QSD]RedirectMatch 301 /c/system/.* /t/system我们使用RedirectMatch而不是Redirect,以便我们可以使用正则表达式。
 

emamapen1973

New member
RewriteEngine On RewriteCond %{QUERY_STRING} ^_t=d /?$ [NC] RewriteRule ^ / [R=301,L,QSD] RedirectMatch 301 /c/system/.* /t/system我们使用RedirectMatch代替Redirect,这样我们就可以使用正则表达式。感谢您的回复。它并不起作用。它将/c/general/8重定向到/c/general8。
 

ennumice1981

New member
我也是哈哈。我使用在线重定向检查器检查了重定向,以防重定向在我的系统上被缓存,但根据在线检查器,它仍然将重定向到错误的页面。
 

tracvervate1985

New member
在我的情况下它很好用(我正在使用在线检查工具,因为我所有的服务器都运行着nginx)。请参见:https://htaccess.madewithlove.com?share=9e7cc64b-e892-4f64-b37a-ef7840ca1386。这些规则不会涉及到URL /c/general/8
 

nnissalponi1977

New member
[ANYTHINGELSE] 意味着 8 或 9 或 10 或 1u3hgbwmbgor 或 17875834 或任何事物。所以:/c/system/8/c/system/462/c/system/sdvbsdv/c/system/26547/c/system/22 应该全部重定向到 /t/system。
 

sinetraback1972

New member
尝试这个:RewriteRule ^c/system(/(d )|)$ /t/system [L,R=301]它适用于:如果您想要重定向所有内容,而不仅仅是数字,那么:RewriteRule ^c/system(/(.*?)|)$ /t/system [L,R=301]。
 
RewriteRule ^c/system(/(d )|)$ /t/system [L,R=301]它适用于:如果您想重定向所有内容,而不仅仅是数字,则:RewriteRule ^c/system(/(.*?)|)$ /t/system [L,R=301]添加后,站点出现500内部服务器错误。
 

fimbnesifi1974

New member
您在.htaccess中的错误位置添加了它,或者您的.htaccess中有其他问题。检查error_log文件以获取更多信息。
 
顶部