Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
Regex 重定向到www并消除fb_xd_片段_Regex_Facebook_Apache_.htaccess - Fatal编程技术网

Regex 重定向到www并消除fb_xd_片段

Regex 重定向到www并消除fb_xd_片段,regex,facebook,apache,.htaccess,Regex,Facebook,Apache,.htaccess,我一整天都在试图将这两次重写合并成一次,或者让两次都连续工作。他们独自工作,但不能一起工作 我需要在apache中将所有对网站的访问重定向到一个“www”子域,同时我需要删除facebook添加的“fb_xd_片段”;同时保持任何其他查询字符串的完整性 这是两个独立的部分: RewriteCond %{HTTP_HOST} ^example.com RewriteRule (.*) http://www.example.com/$1 及 尝试在第一条规则后添加L: RewriteCond %{

我一整天都在试图将这两次重写合并成一次,或者让两次都连续工作。他们独自工作,但不能一起工作

我需要在apache中将所有对网站的访问重定向到一个“www”子域,同时我需要删除facebook添加的“fb_xd_片段”;同时保持任何其他查询字符串的完整性

这是两个独立的部分:

RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1


尝试在第一条规则后添加
L

RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

RewriteCond %{QUERY_STRING} ^(.*)fb_xd_fragment(=)?$
RewriteRule (.*) %{REQUEST_URI}?%1  [R=301,L]

你的代码有什么问题吗?两种重写都可以单独工作,但不能一起工作。如果按该顺序上传,最终结果是非www,因为第二个代码使用原始URI。如果我改变了顺序,它就会重定向到www,但没有任何查询字符串;除了fb_xd_碎片,我需要完整的。谢谢你的回复,我在使用()的测试仪的第一天就试过了,但它不起作用。然而,出于好奇,我尝试了根.htaccess访问我的网站,它确实有效。但是,第一个[R=310,L]不是告诉它这是它应该处理的最后一条规则吗;那么为什么它会继续执行“fb_xd_片段”规则呢?正如测试所证实的那样,我原以为它不起作用;但是我需要“fb_xd_片段”只在两个子文件夹上工作,而不是在整个网站上工作。那么,如何让“www”处理整个网站,让“fb_xd_片段”只处理两个子文件夹?我试着把它分解,把“www”放在root.htaccess中,把“fb_xd_片段”放在两个.htaccess文件夹中;但它同样不起作用。。。
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

RewriteCond %{QUERY_STRING} ^(.*)fb_xd_fragment(=)?$
RewriteRule (.*) %{REQUEST_URI}?%1  [R=301,L]