使用 apache 显示我的域名而不是我的 ip

使用 apache 显示我的域名而不是我的 ip

我拥有的

我有一个配置为指向我的服务器的域。

当我进入我的域时,假设:

example.com

它将我重定向到:

http://104.286.131.72/mysitefolder/index.php?

当然,它向我展示了正确的网站。

我有这个的 apache,以及一个名为的文件,/etc/apache2/sites-enabled/000-default.conf内容如下:

<VirtualHost *:80>
        DocumentRoot /var/www/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /var/www/mysitefolder/
        ServerName example.com
        ServerAlias www.example.com
</VirtualHost>

我想要的是

当我进入我的域时:

example.com

它将我重定向到:

http://example.com/index.php?

并向我展示同一个网站。

我怎样才能做到这一点?

更新1

尝试将第二个块更改为@imvikasmunjal 答案,然后我得到这个:

The requested URL /mysitefolder/index.php was not found on this server.

/var/log/apache2/access.log文件称:

190.126.199.244 - - [25/Apr/2016:01:43:43 -0400] "GET /mysitefolder/index.php? HTTP/1.1" 404 521 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"

更新2

我有一个.htaccess这样的:

#Domain: 104.286.131.72
RewriteRule . - [E=REWRITEBASE:/mysitefolder/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>
....

答案1

我认为你不需要这个 ->RewriteRule 。-[E=REWRITEBASE:/mysitefolder/]

因为您的 DocumentRoot 已经指向 /var/www/mysitefolder/ 。您可以尝试注释掉此规则或将其替换为 RewriteRule 。- [E=REWRITEBASE:/]

希望这可以帮助。

答案2

您必须将域名与 IP 地址绑定。

<VirtualHost *:80>
    DocumentRoot /var/www/mysitefolder/
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

而不是这样使用:

<VirtualHost example.com:80>
    DocumentRoot /var/www/mysitefolder/
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

代替*添加域名。

相关内容