当页面由动态PHP字符串标识时,这是.htaccess ile中页面重定向的问题。
我不确定是否有人可以帮助我。这可能是一个不可解决的问题。
我刚刚将一个客户端移动到一个新的网站,其中待售属性在一个子文件夹中,而属性在另一个子文件夹中出租。 (在旧网站上,它们都在顶部文件夹中。)
页面标识如下:
show-property.php?prop=[number]
如果所有属性都转到同一子文件夹,则一条规则将覆盖所有属性。但是我必须将一些属性发送到出租子文件夹,将其他属性发送到sales子文件夹,具体取决于具体的数字。
有60个活跃的销售物业和77个有效的租赁物业。
所以我把旧网站上的.htaccess文件放入了137个单独的规则,如:
Redirect 301 /show-property.php?prop=100 https://[new-domain]/**rentals**/show-property.php?prop=100
Redirect 301 /show-property.php?prop=101 https://new-domain]/**sales**/show-property.php?prop=101
毫不奇怪,它们都不起作用。
有137个不同的页面和2个不同的目的地,这个问题可以解决吗?
答案 0 :(得分:0)
您需要设置RewriteCondition:
RewriteCond %{REQUEST_URI} ^/show-property.php
RewriteCond %{QUERY_STRING} prop=100
RewriteRule (.*) https://[new-domain]/rentals/show-property.php?prop=100 [R=301,L]
如果有办法从prop id告诉目标,你可以简化它,但我怀疑你的情况是否正确。
答案 1 :(得分:0)
只需将adb.cpp
分类为:
query string
$ 1 将与旧网站中的 RewriteEngine On
RewriteCond %{QUERY_STRING} ^prop\=100$
RewriteRule ^(.*)$ https://new-domain.com/rentals/$1 [R=301,L,QSA]
RewriteCond %{QUERY_STRING} ^prop\=101$
RewriteRule ^(.*)$ https://new-domain.com/sales/$1 [R=301,L,QSA]
匹配, QSA 标记会将查询字符串附加到新位置。