Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/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
Apache .htacces-将所有请求重定向到特定目录,直接url访问除外_Apache_.htaccess_Redirect - Fatal编程技术网

Apache .htacces-将所有请求重定向到特定目录,直接url访问除外

Apache .htacces-将所有请求重定向到特定目录,直接url访问除外,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我有一个论坛和一个网站,分别位于/(root)和/website/。现在,我把我的论坛移到了/forum/,以便更好地组织web服务器,并在需要时能够找到一些东西 我想做的是以某种方式重定向请求,比如 www.mywebsite.com http://mywebsite.com/ http://www.mywebsite.com/ 到/website/,以及对我的基本url提出的任何请求,但之后是指向我的/forum子文件夹的页面(www.mywebsite.com/index.php

我有一个论坛和一个网站,分别位于/(root)和/website/。现在,我把我的论坛移到了/forum/,以便更好地组织web服务器,并在需要时能够找到一些东西

我想做的是以某种方式重定向请求,比如

www.mywebsite.com    
http://mywebsite.com/
http://www.mywebsite.com/
/website/
,以及对我的基本url提出的任何请求,但之后是指向我的
/forum
子文件夹的页面(
www.mywebsite.com/index.php

这是不是可能的?或者,如果我匹配一个特定的文件,我可以至少重定向吗

将请求重定向到基本url的规则,将其转移到我的.htacces中已有的网站文件夹

RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^/?$ "http\:\/\/www.domain\.com\/website_folder\/" [R=301,L]

感谢您的帮助。

您可以在
文档\u ROOT/.htaccess
文件中使用此代码:

RewriteEngine On

RewriteRule ^/?$ /website_root/ [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!(?:website_root|forum)/).+)$ /forum/$1 [L,NC]

这不起作用,因为我需要更具体的东西。访问
mywebsite.com
会相应地重定向到我的网站目录(因为我已经有了另一条规则)但是访问类似于
mywebsite.com/viewtopic.php?t=450
的内容仍然会出现错误,因为它没有被重定向到
mywebsite.com/forum/viewtopic.php?t=450
我想你没有阅读我帖子中的所有内容。基本上,当有人进入
mywebsite.com/any_page.extension
进行重定向时
mywebsite.com/forum/any_page.extension
。检查main中的.htaccess(重要的只是代码片段)。它们是相同的,只是一个占位符。该死,让我再解释一遍。我们使用
mywebsite.com
作为我网站的参考。我们有两种情况:1)有人试图访问
mywebsite.com
(或者使用www/http等等,你就明白了)。当这种情况发生时,我想将他重定向到
mywebsite.com/website\u root/
。其中
website\u root
是包含我的网站的文件夹。2) 有人试图访问
mywebsite.com/index.php
(或任何其他文件)。我想把他重定向到
mywebsite.com/forum/index.php
。其中
forum
是包含我的论坛的文件夹。让我们来看看。