2012-10-07 73 views
0

我想重写规则,重写这个很长的网址,以搜索引擎优化友好的一个。 但是,我的规则不起作用,目标网址变成404页面。 我会很感激任何帮助。谢谢!如何使正确的mod_rewrite规则在.htaccess

这是原始URL的一个例子

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

这是我的重写规则

重写规则^模块/([^ /] )/ PID /([^ /])/ id /([^ /] )/ category /([^ /])/ start /([^ /] *)$ /index.php?module=$1 & pId = $ 2 & id = $ 3 &类别= $ 4 &开始= $ 5 L]

这是转换后的网址

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

+0

'([^ /])' - 这是什么意思? – zerkms

回答

1

刚刚从快速浏览,你匹配的/start/[^/]*$。但是你的URL包含一个正斜杠start/0/,你的正则表达式排除。

因此,最好或者允许使用备用斜杠/?,或者让最后一个匹配模式完全不接受/start/(.*)$允许一切。

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

相关问题