RedirectMatch 301将查询字符串更改为文件夹

时间:2015-03-02 12:16:52

标签: php apache .htaccess redirect

我最近在我的网站上通过htaccess从查询字符串到虚拟文件夹写了url,并且它工作得很好。 由于SEO问题,我需要将旧页面重定向到新的虚拟文件夹地址。我在重定向模式时遇到问题,我很绝望:(

我需要将网址重定向为?page = artreader& id = 56 fa / 56

我在htaccess中使用此代码,但它无法正常工作:

RedirectMatch 301 ^(.+)page=artreader&id=(.+)$ http://www.mywebsite.com/fa/$2

如果有人能帮助我,我感激不尽。

1 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \?page=artreader&id=([^\s&]+) [NC]
RewriteRule ^ fa/%1? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^fa/([^/.]+)/?$ ?page=artreader&id=$1 [L,QSA,NC]