Apache端口被自动转发

时间:2017-11-17 16:14:25

标签: apache freebsd

我正在尝试将两个不同的目录关联到两个不同的端口。 (8001和8004),但每当我尝试在浏览器中访问端口8004时,它会自动重定向到端口8001。

以下是一些似乎相关的配置文件摘录:

httpd.conf

Listen 80
Listen 8001
Listen 8004

删除评论至行:

Include etc/apache24/extra/httpd-vhosts.conf 

在档案httpd-vhosts.conf中:

<VirtualHost *:8001>
  DocumentRoot "<path_to_site_1>"

  <Directory "<path_to_site_1>">
    Require all granted
  </Directory>
  <Directory "<path_to_site_1>">
    AllowOverride All
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !=/favicon.ico
    RewriteRule ^ index.php [L]
  </Directory>
</VirtualHost>

<VirtualHost *:8004>
  DocumentRoot "path_to_site_2"

  <Directory "path_to_site_2">
    Require all granted
  </Directory>
  <Directory "path_to_site_2">
    AllowOverride All
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !=/favicon.ico
    RewriteRule ^ index.php [L]
  </Directory>
</VirtualHost>

这是我尝试过的一些事情,但没有改变任何事情:

  • 在httpd.conf
  • 中拥有VirtualHost声明
  • 更改虚拟主机声明的顺序
  • 将端口8004更改为另一个端口
  • 清除浏览器缓存并尝试其他浏览器

如果我评论Listen 8001,它就会破坏一切。 端口80似乎指向这个FreeBSD安装的默认www目录,并且仍然可以正常工作,因为phpMyAdmin安装在那里并且仍然可以访问。

也许值得注意的是,它是在Oracle VM VirtualBox上运行的FreeBSD安装。

感谢您提供任何帮助或想法。

1 个答案:

答案 0 :(得分:0)

不幸的是,在这种情况下,comportment不是由Apache配置引起的,而是由于网站安装。一个是WordPress安装,另一个是Drupal安装。我不知道通过在目录结构中移动这些网站,他们将不再指向正确的位置。 WordPress正在进行重定向。

该问题通过两种不同的解决方案解决,每个平台一个。

对于WordPress:

位于主题目录中的文件functions.php

  1. 添加以下行:

    update_option( 'siteurl', '<new_url>' );
    update_option( 'home', '<new_url>' );
    
  2. 在浏览器中,为网站腾出几次

  3. 从文件中删除这两行
  4. 对于Drupal:

    (使用drush)在网站所在的目录中:

    drush cache-rebuild
    

    两个命令的组合解决了安装问题。