我的查询字符串有问题。我想改变这种...我的.htaccess文件中的RewriteRule
http://www.audiomasterclass.com/arc.cfm?a=giant-killing-%245-mic-preamp-its-secrets-reveale
要这个......
www.audiomasterclass.com/?a=588
我的查询字符串有问题。我想改变这种...我的.htaccess文件中的RewriteRule
http://www.audiomasterclass.com/arc.cfm?a=giant-killing-%245-mic-preamp-its-secrets-reveale
要这个......
www.audiomasterclass.com/?a=588
基于此网址不能做。您需要逻辑将名称反转为ID。
你可以做的是确保在原始URL中包含ID。例如:
http://www.audiomasterclass.com/arc.cfm?a=giant-killing-%245-mic-preamp-its-secrets-reveale 可以更改为:http://www.audiomasterclass.com/588/giant-killing-%245-mic-preamp-its-secrets-reveale
然后使用重写规则: 重写规则^ /([0-9] +)/arc.cfm?a=$1 [L]
你要做的就是将id添加到每个链接中,这样你的系统就可以基于ID,但是google /用户可以看到漂亮的URL。
您需要稍微更改重写规则(针对您的需要和服务器配置),但它会解释基本知识。
#RewriteCond%{QUERY_STRING} example = #RewriteRule(。*)http://www.domain.com/$1? [R = 301] – ankur 2012-04-19 06:28:40
您必须根据slug从数据库中提取id。 mod_rewrite可以做很多魔术,但它不能这样做。至于实际的改写,你有什么尝试? – Corbin 2012-04-19 06:03:06