我试图创建seo友好的网址。
这是我到目前为止所拥有的。虽然我认为rewriteCond是错误的:
RewriteCond %{REQUEST_URI} results/(.*)/(.*)/([0-9]*)/(.*)/([0-9]*)/$
RewriteRule ^results/(.*)/(.*)/([0-9]*)/(.*)/([0-9]*)/$ results.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5 [L]
当我去网址时: http://www.something.co.uk/results/foo/01-01-2011/1234/01-01-2011/1234它实际上可以正常工作并正确发布所有GET值。然而,我的问题是,当我从其他页面向results.php提交值时,他们总是用/ = foo / foo /...etc中的?= foo& 01-01-2011..etc显示旧的学校方式
现在从我所读到的内容中,rewriteCond旨在解决这个问题。但是我不确定我做错了什么以及为什么它没有重定向到新版本。
任何帮助,指导,示例都将不胜感激
由于
如果您在上面看到任何不良做法或任何严重缺陷的内容,请同时发表评论。正如我所说,我还在学习:)。
答案 0 :(得分:0)
您不需要重写条件 - 这就是规则的第一部分,匹配模式。
RewriteRule ^results/(.*)/(.*)/([0-9]*)/(.*)/([0-9]*)/$ results.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5 [L]
听起来您还期望重写规则或条件更新系统输出的URL。他们所做的就是截取与其参数匹配的请求并在内部重定向它们。因此,如果你访问results.php,网址将不会被更改,你会看到,如你所说,旧学校的网址。