0

当前有一个 URL 为 /results-details.php?mls_number=stringofnumbers 的页面。

我希望它重新写入:/results-details/stringofnumbers

但是我希望它基本上解决回原始页面。

我还在内部更改网站上的所有 URL 以指向该 URL。所以我有两个重写规则:

RewriteCond %{QUERY_STRING} mls_number=([0-9]+)$
RewriteRule (.*) /new-homes/results-details/%1? [R=301,C]
RewriteRule ^results-details/([0-9]+)$ results-details.php?mls_number=$1

第二条规则本身可以很好地使用 /results-details/stringofnumbers 表单中的内部链接,但是第一个规则没有正确链接到第二个规则,并且不确定我做错了什么。

基本上试图保留任何可能存在的旧 URL 的链接,但在内部开始使用新的 URS。

建议?

4

1 回答 1

0

您需要匹配实际请求而不是 URI,因为重写引擎循环:

RewriteCond %{THE_REQUEST} \ /new-homes/results-details\.php?mls_number=([0-9]+)
RewriteRule ^ /new-homes/results-details/%1? [L,R=301]

RewriteRule ^results-details/([0-9]+)$ results-details.php?mls_number=$1
于 2013-10-28T16:54:07.067 回答