我曾经有一个照相馆,可以动态生成每张照片1页,并为每个页面的url分配一个唯一的查询字符串,例如:
https://www.example.com/photos/index.php?start=1 和 https://www.example.com/photos/index.php?start=2
由于我的图库中没有大量照片,因此我将每个页面都变成了静态网址(这可能有助于他们的seo排名)。这些页面现在具有静态网址,例如:
https://www.example.com/photos/winterstorm2007.php 和 https://www.example.com/photos/new-chickens.php
这是我在照片目录内的htaccess文件中尝试过的操作-只是抛出404错误:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^index\.php?start=1 [NC]
RewriteRule (.*) /photos/winterstorm2007.php [R=301,L]
RewriteCond %{QUERY_STRING} ^index\.php?start=2 [NC]
RewriteRule (.*) /photos/pastured-chickens.php [R=301,L]
答案 0 :(得分:1)
QUERY_STRING
变量仅包含URL中?
之后的查询部分。
您可以使用THE_REQUEST
来匹配REQUEST_URI并查询:
RewriteCond %{THE_REQUEST} /index\.php\?start=1\s [NC]
RewriteRule ^ /photos/winterstorm2007.php? [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php\?start=2\s [NC]
RewriteRule ^ /photos/pastured-chickens.php? [R=301,L]
还请注意在目标URI中结尾?
,以剥离先前的查询字符串。