【发布时间】:2011-08-13 00:19:55
【问题描述】:
我在我的 .htaccess 文件中编写了一些代码,它允许使用对 SEO 友好的 URL,而不是丑陋的查询字符串。以下代码将浏览器中的 SEO 友好版本重写为服务器上的查询字符串版本。
RewriteEngine On
RewriteRule ^seo/([^/]*)/$ /directory/script.php?size=large&colour=green&pattern=$1 [L]
这样丑
http://www.mysite.com/directory/script.php?size=large&colour=green&pattern=striped
现在很漂亮
http://www.mysite.com/directory/seo/striped/
只是为了解释一下代码; seo是用来给URL添加更多关键字的,/directory/是.htaccess文件所在的目录,参数size=large和colour=green永远不会改变,而pattern=$1可以是很多不同的值。
上面的代码完美运行。但是,问题是我现在被两个指向完全相同内容的 URL 卡住了。为了解决这个问题,我想将旧的、丑陋的查询字符串 301 重定向到 SEO 友好的 URL。到目前为止我尝试过的方法都不起作用 - Google 今天也不是特别友好。
任何人都可以提供工作代码放入我的 .htaccess 文件中,将丑陋的重定向到新的 URL,同时保留重写?谢谢!
【问题讨论】:
-
添加了更多示例 URL 以进行说明。
标签: apache .htaccess url-rewriting seo