apache - virtualhostが削除されたエイリアス情報にリダイレクトし続ける

原文 apache prestashop alias virtualhost prestashop-1.6

Ubuntu 14.04とApache 2.2を搭載したDigitalOceanドロップレット(VPSサーバーなど)があります。

私は4つの仮想ホストを構成していて、4つの異なるドメインが4つの異なるフォルダーを指しているため、問題ありません。

PrestaShopインストールを含む5番目のドメイン(www.someshop.tldと呼びましょう)を指定する必要がありました。

次のAliasapache2/sites-available/domain1.confファイルに追加して、www.domain1.tld/someshopwww/prestashopにつながるようにしました。

<VirtualHost *:80>  
    ServerName www.domain1.tld
    DocumentRoot /www/directory1

    Alias /someshop /www/prestashop    #Alias line
</VirtualHost>


これは一時的な手段として行ったので、作業サイトを公にアクセスできるようにしました(そのため、www/prestashopのDNS設定、「A」レコード、ネームサーバーなどを構成する前にwww.someshop.tldに公にアクセスできました)。

これを行う必要がなくなったので、Aliasファイルから.conf行を削除して、次のようにします。

<VirtualHost *:80>
    ServerName www.domain1.tld
    DocumentRoot /www/directory1
</VirtualHost>


次のような新しいsomeshop.confを追加しました。

<VirtualHost *:80>
    ServerName www.someshop.tld
    DocumentRoot /www/prestashop
</VirtualHost>


次に、.confの両方のapache2/sites-enabledファイルを再度有効にし、service apache2 restartでApacheを再起動しました。

ただし、www.someshop.tldにアクセスすると、引き続きwww.domain1.tld/prestashopへのURLリダイレクトが実行されます(このメッセージが表示されます:「見つかりません、要求されたURL /someshopはこのサーバーで見つかりませんでした」)。

「伝播」の問題かもしれないと思ったので、この質問を投稿する前に数時間待ちました。これまでのところ、まだこれを行っています。

私の質問:これはそれを待つことで解決する必要があるものですか、それとも他の何かを修正する必要がありますか?たとえば、古いvirtualhost Alias情報をフラッシュする方法はありますか?
答え
あなたはApacheの設定からサイトを削除しようとしましたか?

$ sudo a2dissite test.com.conf  #Remove symlink
$ sudo service apache2 reload


これにより、シンボリックリンクが削除されます。その後、希望する適切な構成でシンボリックリンクを再度作成できます。
関連記事

php - .htaccess 403 Forbidden(ホワイトリストのIP)

php - rpi3のシェルスクリプトからサウンドが機能しない

apache - AnalyzingInfixLookupFactoryを使用したApache Solrでのwrite.lockの問題

apache - XAMPP-> Apacheが起動しない

apache - htaccessは.php拡張子を挿入するためにURLを書き換えます

apache - 301リダイレクトにより、新しいURL内に二重スラッシュが追加されます

php - ドキュメントルートの上のディレクトリを書き換えるためのhtaccessおよびapacheエイリアス

apache - 1つのURLを除くすべてのリクエストをリダイレクトする

apache - Kubernetes:hostPathボリュームがマウントされない

apache - クエリ文字列を含む1つのURLから別のURLに必要