在我的网站中,有一些可以通过两个 URL 访问的页面:
- .../页
- .../参数/页面
为了针对搜索引擎优化网站,我必须将所有 .../page url 重定向到 .../parameter/page url。
我怎样才能修改文件 .htaccess?
答案1
为了使重定向按照所需的行为执行,请实施类似于下面的重写规则:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(special|cases|which|should|be|excluded)/) [NC]
RewriteRule /(.*) http://www.example.com/parameter/$1 [L,R=301]
针对上述更具体的问题的解决方案评论(即,重定向所有没有特定上下文的页面以使用“en”上下文)将类似于以下重写:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(en|it|de|fr)/) [NC]
RewriteRule /(.*) http://www.example.com/en/$1 [L,R=301]
请注意,重写规则不应适用的任何其他语言目录都需要添加到 RewriteCond 中的转义子句中。
此外,一旦实施完毕,需要在 Apache 上发出一个优雅的命令才能接收更改。