不需要的Apache重定向行为

时间:2013-06-22 13:05:32

标签: apache redirect joomla ubuntu-12.04 http-redirect

我的Ubuntu 12.04服务器上的Apache安装重定向发送到:

的请求
http://87.73.120.126

http://90.184.18.96/joomla/index.php/jomsocial

地址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-search不排除这条路径,因此任何从Joomla出现的重定向都应该由grep-search显示。

1 个答案:

答案 0 :(得分:1)

两个考虑因素:

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

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

  3. 您使用该重定向实现了两项任务:指向一个非根(/ joomla)的安装并设置不同的主页。在Joomla中设置主页就像在菜单项编辑器中用星号标记其菜单项一样简单,因此您可能不需要第二部分。