在phpmydirectory框架中,我尝试使用…
search = fopen("Students.txt", "r");
if (!search) { perror("Students.txt"); return; }
char line[4095+1];
while (fgets(line, sizeof line, search))
if (strstr(line, name)) printf("%s", line);
fclose(search);
}
301重定向将旧网页网址重定向到新的网页网址。
ex:.htaccess
重定向有效,但在新网址末尾,旧的友好网址连接为ID。
我该如何避免?
http://example.com/pages/newurl.html?id=old-friendly-url
答案 0 :(得分:0)
Redirect 301 /pages/features.html /pages/ost-to-pst-ost-to-office365-ost-to-exchange-migrator.html?
据推测,这是有问题的重定向?如果它最后已包含?
,那么原始请求中的查询字符串应该已被删除 - 但是,如果使用mod_alias Redirect
,则最终会得到一个尾随?
在目标网址上。
您应该使用mod_rewrite来执行此重定向。由于您已经在使用mod_rewrite进行内部重写,因此建议使用此方法以避免潜在的冲突。
您的原始重定向不是检查查询字符串,因此我认为这不是必需的 - 您只需要匹配URL路径。
以下重定向应该在现有的内部重写之前:
RewriteRule ^pages/oldurl\.html$ /pages/newurl.html? [R,L]
?
替换上的尾随RewriteRule
会从请求中删除查询字符串。或者,使用Apache 2.4 +上的QSD
标志