Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Windows 使用多个URL的Mod Rewrite维护页面_Windows_.htaccess_Redirect_Isapi Rewrite - Fatal编程技术网

Windows 使用多个URL的Mod Rewrite维护页面

Windows 使用多个URL的Mod Rewrite维护页面,windows,.htaccess,redirect,isapi-rewrite,Windows,.htaccess,Redirect,Isapi Rewrite,我有一个网站为一个应用程序使用多个URL。根据网站的URL,您将获得不同的内容。我需要创建一个重写规则,根据用户点击的URL将用户重定向到不同的页面 例如: 如果用户访问www.foo.bar,用户将被重定向到www.foo.bar/maintww.html 但如果用户访问www.bar.foo,用户将被重定向到www.bar.foo/maintww2.html 请记住,由于我们使用的是相同的应用程序,但URL不同,因此这两个html页面需要以不同的名称命名,以便提供不同的内容 我设法使用了它,

我有一个网站为一个应用程序使用多个URL。根据网站的URL,您将获得不同的内容。我需要创建一个重写规则,根据用户点击的URL将用户重定向到不同的页面

例如: 如果用户访问www.foo.bar,用户将被重定向到www.foo.bar/maintww.html 但如果用户访问www.bar.foo,用户将被重定向到www.bar.foo/maintww2.html

请记住,由于我们使用的是相同的应用程序,但URL不同,因此这两个html页面需要以不同的名称命名,以便提供不同的内容

我设法使用了它,但它只将两个URL重定向到一个页面

 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond %{REQUEST_URI} !/maintWWW.html$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW.html [R=302,L]
我尝试用我想要重定向的站点的实际URL替换
%{REQUEST\u URI}
,但没有成功

 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond http://www.foo.bar !/maintWWW.html$ [NC]
 RewriteCond http://www.foo.bar !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW.html [R=302,L]

 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond http://www.bar.foo !/maintWWW2.html$ [NC]
 RewriteCond http://www.bar.foo !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW2.html [R=302,L]
我要怎样才能让它工作呢?我可以包含多个要重定向到同一页面的URL吗?考虑开发和登台URL也很好。下面再举一个例子:

 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond http://www.foo.bar http://staging.foo.bar http://dev.foo.bar !/maintWWW.html$ [NC]
 RewriteCond http://www.foo.bar !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW.html [R=302,L]

您需要在您的条件下检查
HTTP\u HOST
,以检查该域,然后根据该域重定向

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^(www\.)?foo\.bar [NC]
 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond %{REQUEST_URI} !/maintWWW.html$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW.html [R=302,L]

 RewriteCond %{HTTP_HOST} ^(www\.)?bar\.foo [NC]
 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond %{REQUEST_URI} !/maintWWW2.html$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW2.html [R=302,L]
如果您有多个主机名或别名可以在设置中使用,则可以执行此操作

 RewriteCond %{HTTP_HOST} ^(www|dev|staging)\.foo\.bar [NC]
 RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
 RewriteCond %{REQUEST_URI} !/maintWWW.html$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
 RewriteRule .* /maintWWW.html [R=302,L] 

工作得很好!非常感谢。