不需要的Apache重定向行为

不需要的Apache重定向行为,apache,redirect,joomla,ubuntu-12.04,http-redirect,Apache,Redirect,Joomla,Ubuntu 12.04,Http Redirect,我在Ubuntu 12.04服务器上安装的Apache将请求重定向到: http://87.73.120.126 到 地址87.73.120.126是我的服务器的当前IP地址。地址90.184.18.96是半年前的地址 我的问题是:它为什么这样做?我怎样才能让它停止 半年前,我想向http://90.184.18.96重定向到http://90.184.18.96/joomla/index.php/jomsocial 为此,我添加了以下行: RedirectMatch permanent ^/

我在Ubuntu 12.04服务器上安装的Apache将请求重定向到:

http://87.73.120.126

地址87.73.120.126是我的服务器的当前IP地址。地址90.184.18.96是半年前的地址

我的问题是:它为什么这样做?我怎样才能让它停止

半年前,我想向
http://90.184.18.96
重定向到
http://90.184.18.96/joomla/index.php/jomsocial
为此,我添加了以下行:

RedirectMatch permanent ^/$ http://90.184.18.96/joomla/index.php/jomsocial
到文件
/etc/apache2/apache2.conf

几天前,我尝试通过将上面的行更改为:

RedirectMatch permanent ^/$ http://127.0.0.1/joomla/index.php/jomsocial
以及重新启动服务器。这并没有解决问题! 然后,我尝试使用以下命令对字符串
90.184.18.96
执行全局文件搜索:

sudo grep 90.184.18.96 / -irn --exclude-dir={bin,lib64,opt,sbin,tmp,boot,lost+found,proc,selinux,dev,media,root,srv,lib,mnt,run,sys,mail,log,doc,src,recovery-mode} --color
这次搜索发现了几个过时的CRON条目,我也改为使用127.0.0.1。这也没用。那么,字符串“90.184.18.96”将驻留在哪里?我想它一定在某个地方,以便任何东西都能重定向到那个地址

此服务器从路径
/var/www/Joomla/
运行Joomla。由于我的grep搜索没有排除此路径,因此从Joomla出现的任何重定向都应该由grep搜索显示

两个考虑因素:

  • 重定向到127.0.0.1将重定向到用户的计算机,而不是您的服务器。如果您只跨一台服务器,则不应包含服务器的IP(访问具有域(即www.your-domain.com)的站点并将其重定向到IP地址是不好的)。因此,规则应该为主机使用变量:%{HTTP_host}和%{REQUEST_URI}作为主机和路径

  • 除了httpd.conf之外,您的.htaccess中可能还有重定向规则,它位于Web服务器根目录中:它是一个隐藏文件,因此您的grep可能会跳过它,您也可以查看一下。注意.htaccess和httpd.conf的语法略有不同

  • 通过重定向,您实现了两件事:指向脱离root(/joomla)的安装和设置不同的主页。在Joomla中设置主页就像在菜单项编辑器中用星号标记其菜单项一样简单,因此您可能不需要第二部分

  • sudo grep 90.184.18.96 / -irn --exclude-dir={bin,lib64,opt,sbin,tmp,boot,lost+found,proc,selinux,dev,media,root,srv,lib,mnt,run,sys,mail,log,doc,src,recovery-mode} --color