将“#”字符添加到分层导航块中的链接

时间:2014-02-18 10:02:27

标签: regex prestashop prestashop-1.5

问题

我在Google网站管理员工具中有以下网址:

http://www.mydomain.com/product-category/attribute_name-value-attribute_name-value

我需要在.htaccess中编写一条规则,将#放入我的网址,因为块状模块只会在链接中使用#进行过滤,如下所示:

http://www.mydomain.com/product-category#/attribute_name-value-attribute_name-value

原因

我需要这样做,因为在网站管理员工具中,没有#的链接存在大量错误404的

备注

我在prestashop后台激活了友好的URL。

Prestashop版本1.5.6.1。

服务器:使用apache共享托管。

PS:

基本上我需要编写一条规则,将所有不带#的链接重定向到该类别后#的相同链接。

谢谢!

2 个答案:

答案 0 :(得分:1)

将其从#的网址重定向到不包含#的网址

RewriteRule ^(.+)\/(.*)$ $1#/$2 [R=301, L]

或者,如果您只想允许特定字符

RewriteRule ^([\w\-]+)\/(.*)$ $1#/$2 [R=301, L]

它没有经过测试,但应该给你一个想法。

答案 1 :(得分:0)

我的解决方案

您好, 首先感谢您的回答,它帮助我指出了解决问题的正确方向。 对于有同样问题的人:

RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^mydomain\.com$
RewriteRule ^([\w\-]+)\/([\w\-]+)\-([\w]+)$ "http\:\/\/www\.mydomain\.com\/$1\#\/$2\-$3 [R=301,L,NE]