0

我使用 Joomla 3.1 重新设计了一个 Joomla 1.5 站点,并且由于新的菜单结构而不得不重定向很多 url。

我在我的 .htaccess 文件中创建了重定向 301,但它只重定向 SEF URL - 怎么来或我做错了什么......

它确实重定向:

Redirect 301 /about-us/sailing-team/16-company.html http://www.endeavoursailing.co.uk/about-us/sailing-team.html

它不会重定向:

Redirect 301 /?format=html&tmpl=component&phocadownload=1&catid=0&id=41 http://www.endeavoursailing.co.uk/impressions/photo-gallery.html

谢谢你的帮助

4

2 回答 2

2

重定向 GET 请求最常见的问题是参数的顺序与请求本身无关,但对重定向比较却很重要。因此,对于 Joomla!,参数

format=html&tmpl=component

tmpl=component&format=html

是等价的,但是对于 .htaccess 重定向,它们是不同的。

另一件事是您的 URL 包含catid=0- 但很可能没有这样的类别,因为 id 是整数。

于 2013-05-31T12:18:47.543 回答
0

启用 mod_rewrite 后,将成对的“cond, rule”添加到您的 .htaccess 文件中,例如:

RewriteCond %{QUERY_STRING} ^option=com_content\&view=category\&layout=blog\&id=10\&Itemid=4$
RewriteRule index.php  /pageOne? [R=301,L]

RewriteCond %{QUERY_STRING} ^_query_string_$
RewriteRule index.php  /pageTwo? [R=301,L]

第一个示例将重定向:/index.php?option=com_content&view=category&layout=blog&...
到:/pageOne
“?” 在“/pageOne?” 删除查询参数。

必须转义的字符是:“. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -”
阅读更多内容:php escape special chars in regex

于 2013-10-02T16:05:53.570 回答