Apache .htacces-将所有请求重定向到特定目录,直接url访问除外
我有一个论坛和一个网站,分别位于/(root)和/website/。现在,我把我的论坛移到了/forum/,以便更好地组织web服务器,并在需要时能够找到一些东西 我想做的是以某种方式重定向请求,比如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
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
是包含我的论坛的文件夹。让我们来看看。