如何写我的rewriterule所以我可以有友好的网址

时间:2015-03-05 14:16:36

标签: .htaccess seo rewrite opencart friendly-url

我的SEO专家让我在Opencart安装中将HTTP 301重定向到友好的URL。这个Opencart安装使用SEO网址,所以我有这个网址(opencart中的本机网址): http://www.qcbikeshop.com/index.php?route=information/information&information_id=9

和SEO网址是: http://www.qcbikeshop.com/Livraison-Gratuite

然而,我的搜索引擎优化专家希望我进行HTTP 301重定向,以便当有人访问本地URL(第一个)时,他将其重定向到SEO网址。

当我尝试在.htaccess中执行此操作时,Apache说它处于无限循环中并且我理解它。但我还没有找到如何实现我想要做的事情。

这是我目前在.htaccess文件中重写的内容:

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

RewriteCond %{HTTP_HOST} ^qcbikeshop\.ca$ [OR]
RewriteCond %{HTTP_HOST} ^www\.qcbikeshop\.ca$
RewriteRule ^/?$ "http\:\/\/qcbikeshop\.com" [R=301,L]

RewriteCond %{HTTP_HOST} ^qcbike\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.qcbike\.com$
RewriteRule ^/?$ "http\:\/\/qcbikeshop\.com" [R=301,L]

RewriteCond %{HTTP_HOST} ^qcbike\.ca$ [OR]
RewriteCond %{HTTP_HOST} ^www\.qcbike\.ca$
RewriteRule ^/?$ "http\:\/\/qcbikeshop\.com" [R=301,L]

RewriteCond %{HTTP_HOST} ^spherikbike\.ca$ [OR]
RewriteCond %{HTTP_HOST} ^www\.spherikbike\.ca$
RewriteRule ^/?$ "http\:\/\/www\.spherikbike\.com\/" [R=301,L]

Redirect 301 /mtb-comp-fr.html http://www.qcbikeshop.com/accessoires/pompes-velo/mtb-comp-fr.html

CPanel Rewrite工具为我上面的例子生成了这个:

RewriteCond %{HTTP_HOST} ^qcbikeshop\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.qcbikeshop\.com$
RewriteRule ^index\.php$ "http\:\/\/www\.qcbikeshop\.com\/Livraison\-Gratuite" [R=301,L]

对我来说似乎非常错误。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您可以将此规则置于其他规则之上,看看它是如何运作的。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?information/information&information=9
RewriteRule .* /Livraison-Gratuite? [R=301,L]