首页 文章

使用Apache重写未重定向的URL

提问于
浏览
0

我一直在使用apache服务器 . 我想将一些URL重定向到另一个URL,例如 . www.abc.com to localhost:8080 / Home

我在apache安装的conf文件夹中的httpd.conf中取消注释重写模块 . 然后我在httpd.conf文件中编写了如下所示的重写规则 .

RewriteEngine On#打开重写引擎RewriteRule http://www.abc.com http:// localhost:8080 / Home /

但什么都没发生 . 它只是正常打开abc.com . 即使在日志中也没有错误消息 .

任何人都可以建议问题出在哪里?

2 回答

  • 0

    您只能重写将服务器作为主机的URL . 由于您没有托管www.abc.com,因此您无法重写其任何网址 .

  • 0

    这不是'最好'的解决方案,但我在家里使用它 .

    编辑您自己PC上的“主机”文件以重定向 . 例如,我的'阁楼'重定向到ip 10.0.0.5,我的服务器在阁楼 . 因此,当我输入阁楼/文件夹时,我得到的通常是10.0.0.5/myfolder .

    您的主机默认位置可以通过非常快的谷歌找到 .

    正如我所说,这不是最好的,但它确实有效 .

    编辑:

    好的,有些东西,我们称之为xyz.com .

    我们这里需要2件事;

    a) your server must expect traffic from xyz.com 
    (this is just a config on the server, easy to achieve).
    
    b) your browser must be pointed to your server when you type xyz.com.
    

    通常,当您在任何浏览器中键入xyz.com时,您的PC将连接到DNS服务器,以找出xyz.com实际在哪里(DNS服务器返回IP地址) . 要通知DNS服务器xyz.com应指向您的服务器,您需要付费才能向注册商注册域名(未分配的域名并不昂贵) . 这是最好的方法,因为每台计算机现在都知道如何通过输入xyz.com来访问您的服务器 . 当您将网站移动到托管服务器时,您将转到注册商的网站并更改设置,说“停止指向我的家庭服务器的IP并开始使用托管服务器的IP” .

    或者,如果您不想这样做,您需要告诉您的PC跳过DNS检查,并通过修改上述主机文件来实现 . 这仅适用于您,但足以用于家庭测试目的 .

    第三个选项是运行您自己的DNS服务器,并手动告诉它覆盖xyz.com的全球设置 . 这样,您的浏览器在检查DNS服务器时会获得您的自定义结果,并直接转发到您的服务器 . 但是,运行您自己的DNS服务器是一项复杂的工作,对您当前的任务来说太过分了 .

    总之,从最佳选项到最差选项:1)注册您的域并将其指向主页2)修改您的hosts文件以绕过DNS检查3)运行您自己的DNS服务器,并覆盖xyz.com的设置

    希望这次我更清楚了:O)

相关问题