Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url rewriting 301重定向是如何工作的_Url Rewriting_Dns - Fatal编程技术网

Url rewriting 301重定向是如何工作的

Url rewriting 301重定向是如何工作的,url-rewriting,dns,Url Rewriting,Dns,在GoDaddy和Yahoo这样的典型DNS中,301重定向是否可以执行以下操作: http://mysite.com/abc至http://www.mysite.com/abc 然而,这似乎是不可能的;otherdomain中的应用程序是否可以知道子文件夹 更新: 我的意思是那些DNS重定向,特别是从裸域到www域 更新: 我设法从http://mysite.com至http://www.mysite.com/index.html那么我可以通过index.html中的javascript获取请

在GoDaddy和Yahoo这样的典型DNS中,301重定向是否可以执行以下操作:

http://mysite.com/abc
http://www.mysite.com/abc

然而,这似乎是不可能的;
otherdomain
中的应用程序是否可以知道
子文件夹

更新:

我的意思是那些DNS重定向,特别是从裸域到www域

更新:

我设法从
http://mysite.com
http://www.mysite.com/index.html
那么我可以通过index.html中的javascript获取请求的子文件夹吗


或者重新定向会丢失最初请求的子文件夹?

DNS不会处理HTTP 301响应。这是web服务器发出的响应,用于向浏览器指示请求的资源已永久移动到新位置,并且它包括带有新URL的
位置:
标题

例如:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp
如您所见,位置标题可以包含任何有效的URL,包括文件夹名称


设置此设置依赖于服务器,但Apache的mod_rewrite当然能够重写URL,并在响应中包含请求的文件夹名称。

如果您位于LAMP stack box上,则可以使用.htaccess重定向。您可以将site1上的任何页面重定向到site2上的任何页面

 Redirect 301 /old-page-name http://www.your-domain.com/new-page-name

注意,这不是一个DNS解决方案,但我认为您可能没有寻找严格与DNS相关的答案。

DNS无法重定向到子文件夹,DNS仅用于url的“主机名”部分,因此请用适当的术语重新表述您的问题,我看到了,因此当DNS转发到其他域时,那里的应用程序应该检查headerAnyway,我唯一的选择是URLRewriteFilterDNS不处理301重定向。新服务器上的应用程序不一定知道请求已被重定向。新位置的服务器只需在重定向请求中设置URL即可获得URL。因此,您的意思是,这样的转发将无法工作:
http://mysite.com/abc
http://www.mysite.com/abc
其中“abc”是任何哈希字符串不,我不是这么说的。在Apache的mod_rewrite中,可以重写域、附加现有路径并将结果作为301响应传递。如果设置正确,您的建议将起作用。其他服务器有不同的机制,但应该能够执行类似的操作。