1

我正在尝试在我的网站上进行一些 301 url 重定向,这是 .htaccess 文件的前几行:-

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


Redirect 301 /en/home/index.html /index.php?
Redirect 301 /en/about/product.html /shop?
Redirect 301 /en/member/profile.html /index.php?route=account/account

以上 3 301 条规则都可以正常工作。但是当我删除“?” 在第一条和第二条规则中,重定向失败。所以在这种情况下,“?” 必须在场。

但是,如果我希望有没有“?”的格式,有可能吗?

另外,如果我只做url重写,不做301重定向,还会保持之前的seo成就吗?

4

1 回答 1

0

尝试使用 mod_rewrite 而不是 mod_alias:

RewriteRule ^en/home/index.html$ /index.php? [L,R=301]
RewriteRule ^en/about/product.html$ /shop? [L,R=301]
RewriteRule ^en/member/profile.html$ /index.php?route=account/account [L,R=301]

您还需要那些在您的 index.php 路由规则之前。

于 2013-09-16T07:21:31.360 回答