Domain-Name-System

用 apache 顯示我的域而不是我的 ip

  • April 25, 2016

是)我有的

我有一個配置為指向我的伺服器的域。

當我進入我的域時,假設:

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>
....

我認為你不需要這個 ->RewriteRule 。-

$$ E=REWRITEBASE:/mysitefolder/ $$ 因為您的 DocumentRoot 已經指向 /var/www/mysitefolder/ 。您可以嘗試評論此規則或將其替換為 RewriteRule 。-

$$ E=REWRITEBASE:/ $$ 希望這可以幫助。

您必須將域與 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>

代替*添加域名。

引用自:https://serverfault.com/questions/772672