.htaccess 重定向匹配:删除问号

.htaccess 重定向匹配:删除问号,.htaccess,redirect,.htaccess,Redirect,我正在使用RedirectMatch将旧网站重定向到新的URL。(我不需要保留原始查询字符串,因此在末尾使用“?”) RedirectMatch 301^/cms/index.php$http://www.mysite.com? 重定向是有效的,但是在被重定向后,我在最后的URL上留下了一个难看的问号: www.mysite.com? 有没有办法把它去掉 编辑:我正在使用.htacces文件: RedirectMatch 301 ^/cms/index.php$ http://www.mysit

我正在使用
RedirectMatch
将旧网站重定向到新的URL。(我不需要保留原始查询字符串,因此在末尾使用“?”)

RedirectMatch 301^/cms/index.php$http://www.mysite.com?

重定向是有效的,但是在被重定向后,我在最后的URL上留下了一个难看的问号:

www.mysite.com?

有没有办法把它去掉

编辑:我正在使用.htacces文件:

RedirectMatch 301 ^/cms/index.php$ http://www.mysite.com?

# BEGIN WPSuperCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) "/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz" [L]

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html" [L]
</IfModule>

# END WPSuperCache

RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ "http\:\/\/www\.mysite\.com\/$1" [R=301,L]




# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
RedirectMatch 301^/cms/index.php$http://www.mysite.com?
#开始超级缓存
重新启动发动机
重写基/
AddDefaultCharset UTF-8
重写cond%{REQUEST_METHOD}!邮递
重写条件%{QUERY_STRING}!。*=*
重写cond%{HTTP:Cookie}!^*(评论|作者| wordpress |登录| wp-postpass |)*$
重写cond%{HTTP:X-Wap-Profile}^[a-z0-9\“]+[NC]
重写cond%{HTTP:Profile}!^[a-z0-9\“]+[NC]
RewriteCond%{HTTP:Accept Encoding}gzip
重写cond%{DOCUMENT_ROOT}/wp content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz-f
重写规则^(.*)“/wp content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz”[L]
重写cond%{REQUEST_METHOD}!邮递
重写条件%{QUERY_STRING}!。*=*
重写cond%{HTTP:Cookie}!^*(评论|作者| wordpress |登录| wp-postpass |)*$
重写cond%{HTTP:X-Wap-Profile}^[a-z0-9\“]+[NC]
重写cond%{HTTP:Profile}!^[a-z0-9\“]+[NC]
重写cond%{DOCUMENT_ROOT}/wp content/cache/supercache/%{HTTP_HOST}/$1/index.html-f
重写规则^(.*)“/wp content/cache/supercache/%{HTTP_HOST}/$1/index.html”[L]
#结束超缓存
重写cond%{HTTP_HOST}^mysite.com$
重写规则^(.*)$“http\:\/\/www\.mysite\.com\/$1”[R=301,L]
#开始WordPress
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

编辑:最后,我用anubhava的建议让它工作了。但是我必须在
/cms
文件夹中创建一个单独的
.htaccess
文件。

最好使用如下代码使用mod_rewrite:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^cms/index\.php$ http://www.mysite.com/? [L,R=301,NC]

谢谢你的快速回答!我尝试粘贴你的代码,但它没有重定向到任何地方。(是的,在我的.htaccess的第1行)。出于某种原因,只有
重定向匹配
似乎对我有效…请确保通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.htaccess
中。
mod_rewrite
已明确启用,由于我在同一个域上使用wordpress,所以在我的.htaccess文件中还有几个其他(wordpress相关的)重写规则。我正在发布我的.htacces,以便您可以查看…清除浏览器缓存,然后重新启动浏览器,并在
RewriteBase/
行下方插入我建议的重写规则。我完全按照您的建议执行了操作,但仍然不走运。唯一有效的方法是我在第1行的方法。