首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RewriteMap错误重写URL

用RewriteMap错误重写URL
EN

Stack Overflow用户
提问于 2015-08-12 14:30:12
回答 2查看 112关注 0票数 0

我必须重写大量的URL,例如:,从:produit=8489到:http://www.lespoulettes-bijoux.fr/colliers-femme-createur-fantaisie/femme-collier-ras-de-cou-fils-d-argent-et-6-perles-blanches-et-grises-10005.html

所以我选择做一个RewriteMap,因为我的URL没有相同的ID来匹配。

所以我宣布我的RewriteMap是这样的:

代码语言:javascript
复制
8489 http://www.lespoulettes-bijoux.fr/colliers-femme-createur-fantaisie/femme-collier-ras-de-cou-fils-d-argent-et-6-perles-blanches-et-grises-10005.html

在我的.htacess中:我想转换我的URL,将GET参数(id_produit)转换成一个interal id,然后在我的ReWriteMap中进行git。

问题是:在转换我的URL时,我有一个错误500,并且我不知道转换后切换的正确语法:

代码语言:javascript
复制
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id_produit\=(.+)$
RewriteRule (.*) /$1/id=%1 <== HERE 500 Internal Server Error
#RewriteRule ^/id_produit.asp/(.*)$ ${map_product:$1} [R]

恢复:我想将'www.exemple.com/produit2.asp?id_produit=8489‘切换到www.Exple.com/produit2.asp/ id =8489,并将id发送到我的RewriteMap以重定向到正确的URL。

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2015-08-12 14:51:31

这里的问题可能是:

代码语言:javascript
复制
RewriteCond %{QUERY_STRING} ^id_produit\=(.+)$
RewriteRule (.*) /$1/id=%1 <== HERE 500 Internal Server Error

导致了一个循环。重写引擎循环--因此在重写之后,结果仍将与此规则相匹配,从而再次被重写。尝试将一个?添加到末尾,以便删除查询字符串:

代码语言:javascript
复制
RewriteCond %{QUERY_STRING} ^id_produit\=(.+)$
RewriteRule (.*) /$1/id=%1? [L]

此外,yuo需要删除regex中的前导斜线。在基于每个目录的规则(如htaccess文件中)中,请求URI的前导斜线被去掉,因此regex需要如下所示:

代码语言:javascript
复制
RewriteRule ^id_produit.asp/(.*)$ ${map_product:$1} [R,L]

这个规则需要在其他规则之前。

票数 0
EN

Stack Overflow用户

发布于 2015-08-13 08:32:51

我几乎有了解决办法:

代码语言:javascript
复制
RewriteCond %{QUERY_STRING} ^id_produit\=(.+)$
RewriteRule (.*) /$1/%1? [L]
RewriteRule ^produit2.asp/(.*)$ ${map_product:$1} [R,L]

将我重定向到我的地图,但是在我的URL中间添加/var/www/les-poulettes-bijoux/:

/produit2.asp?id_produit=8489 => http://www.lespoulettes-bijoux.fr/var/www/les-poulettes-bijoux/colliers-femme-createur-fantaisie/femme-collier-ras-de-cou-fils-d-argent-et-6-perles-blanches-et-grises-10005.html

但我需要http://www.lespoulettes-bijoux.fr/colliers-femme-createur-fantaisie/femme-collier-ras-de-cou-fils-d-argent-et-6-perles-blanches-et-grises-10005.html

我如何删除我的URL中无用的部分?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31968163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档