正则表达式从.htaccess中删除查询字符串

时间:2015-10-03 15:05:27

标签: regex .htaccess

我有一个博客,我最近从它的原始平台迁移到一个自我托管的WordPress网站。旧平台将查询字符串附加到移动视图的URL。这在新的响应式网站中没有任何连接,因此带有这些查询字符串的网址会导致404错误。

我需要的是我的.htaccess的正则表达式,它将从URL中剥离查询字符串?m = 1。因此,例如,“www.example.com/post/?m=1”应重写或重定向到“www.example.com/post /”

到目前为止我所拥有的是:

RewriteCond %{QUERY_STRING}  ^m=1$ [NC]
RewriteRule ^(.*)$ $1? [R=301,L]

哪个绝对没有:)

连连呢?

2 个答案:

答案 0 :(得分:1)

问题是#stip trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] RewriteCond %{QUERY_STRING} ^m=1$ [NC] RewriteRule ^(.*)$ $1? [R=301,L]

中的尾部斜杠
C:\Windows\system32>cd E:\smn\packages\Oracle.ManagedDataAccess.12.1.021\lib\net40

C:\Windows\system32>e:

E:\smn\packages\Oracle.ManagedDataAccess.12.1.021\lib\net40>"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\gacutil.exe" /i Oracle.ManagedDataAccess.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

答案 1 :(得分:0)

我的问题是语法之一。正确的解决方案是here。请注意在WordPress网站中使用此解决方案时放置的重要性。