我有一个运行Web服务的Drupal 6安装。因此,如果有人访问www.example.com/services/json?method=views.get&view_name="test“,他们会获得正确的编码响应。
我正在对它进行一些维护工作,所以我创建了一个子域并将所有内容复制到它上面,并且我希望在处理主域时将所有请求重定向到子域。因此,当请求进入时,它现在需要转到old.example.com/services/json?method=views.get等。
我尝试了几种方法,但没有任何作用。它只是疯了,说我有太多的重定向,然后页面无法加载。
我尝试过的一些事情:
RedirectMatch 301 /services/json(.*)$ http://old.example.com/services/json$1
或者
RedirectMatch 301 ^/services/json(.*)$ http://old.example.com/services/json$1
以下是文件夹结构的外观。
public_html - 顶部文件夹,里面包含以下内容: -main drupal站点文件,我正在编辑.htaccess文件 -old(这是包含子域文件的文件夹,主站点的副本,减去.htaccess文件中的一些内容)
我怀疑结构可能与它有关,但我不知道。
编辑:有关.htaccess文件中重定向规则的详细信息。
热门主要域名文件夹:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RedirectMatch 301 ^/services/json(.*)$ http://old.example.com/services/json$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
在子域文件夹中(我在测试过程中删除了大部分其他规则):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
感谢任何帮助。谢谢!
答案 0 :(得分:0)
您确定.htaccess
文件/ Apache配置不会影响子域吗?进入子域的请求也会与您的重定向匹配,并创建该循环。