如何在.htaccess中制作正确的mod_rewrite规则

时间:2012-10-07 20:44:55

标签: php .htaccess mod-rewrite

我正在尝试制作重写规则,将这个长URL重写为SEO友好的。 但是,我的规则不起作用,目标网址成为404页面。 我很感激任何帮助。谢谢!

这是原始网址的示例

http://www.mydomain.com/index.php?module=product&pId=102&id=14495&category=computer/DELL&start=0/

这是我的重写规则

RewriteRule ^ module /([^ /] )/ pId /([^ /] )/ id /([^ /] )/ category /([^ /] < / em>)/ start /([^ /] *)$ /index.php?module=$1&pId=$2&id=$3&category=$4&start=$5 [L]

这是转换后的网址

http://www.mydomain.com/index/module/product/pId/102/id/14495/category/computer/DELL/start/0/

1 个答案:

答案 0 :(得分:1)

只需快速浏览一下,即可匹配/start/[^/]*$。但是,您的网址包含一个前缀斜杠start/0/,您的正则表达式会将其排除在外。

所以最好允许使用/?的备用斜杠,或者让最后一个匹配模式完全不允许/start/(.*)$允许所有内容。

但无论如何,只是删除文件扩展名和交易&符号和正斜杠的等号不会产生更好或用户友好的URL。目标应该是参数整合以提高可读性。当代搜索引擎并不关心GET参数。