我正在研究一个Apache模块,它可以帮助我消除重复的内容,但是我有一个检索真正值的问题。模块接收/空(无路径)请求
这是我可以提供的基本最重要的功能,使模块打印一个值并终止,而不管我访问的URL如何。
static int handler(request_rec *r){
ap_rprintf(r,"%s\n",r->the_request);
return DONE;
}
据http://docstore.mik.ua/orelly/apache_mod/128.htm,它指出
的char * THE_REQUEST 这包含请求的第一线,进行日志记录。
我然后在http://127.0.0.1:81
当我执行命令行上运行的本地服务器上的一些测试:
curl http://127.0.0.1:81/
我收到以下:
GET/HTTP/1.1
当我在命令行上执行:
curl http://127.0.0.1:81
我收到以下:
GET/HTTP/1.1
为什么THE_REQUEST总是返回GET/HTTP/1.1
而不是GET/HTTP/1.1
和GET HTTP/1.1
?
我想创建一个从http://127.0.0.1:81
到http://127.0.0.1:81/
的重定向,所以谷歌或其他搜索引擎不认为我有重复的内容。
当我改变了我的代码:
static int handler(request_rec *r){
ap_rprintf(r,"%s\n",r->unparsed_uri);
return DONE;
}
我仍然有问题,因为我是从分别尝试http://127.0.0.1:81/
和http://127.0.0.1:81
期待/
和一个空。
我怀疑这是HTTP或apache中的一个错误,但我想知道是否可以解决这个问题。
我想访问http://127.0.0.1:81
与位置指示返回301重定向状态http://127.0.0.1:81/
有什么建议?