web-dev-qa-db-ja.com

サイトマップを取得できませんでした

Googleコンソールでサイトマップを送信しようとしていますが、追加するたびに、取得できなかったと言われ、sitemap.xmlをドメインルートディレクトリにアップロードしましたが、Googleには表示されません。この問題をどのように解決できますか?過去2日間この問題に取り組んでおり、まるで私が輪になっているようです。

私のサイトマップは、public_htmlという名前のsitemap.xmlフォルダーにあります。

PDATE#1:これは私のディレクトリ構造です:

/home/winnerrs
    /public_html
        /app
        /bootstrap
        /config
        /database
        /docker
        /public
        /resources
        /routes
        /storage
        .htaccess
        artisan
        composer.json
        composer.lock
        docker-compose.yml
        Dockerfile
        package.json
        phpunit.xml
        README.md
        readme.md
        robots.txt
        server.php
        sitemap.xml
        webpack.mix.js

PDATE#2:ドキュメントルートにあるこの.htaccessファイル:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>
2

ディレクトリ構造を見ると、ドキュメントルート(sitemap.xmlをアップロードした場所)にある多くの(すべての?)ファイルにアクセスできないように見えます。

これはLaravelアプリである可能性があり、おそらくすべてを/publicサブディレクトリ(Laravelでの典型的な使用パターン)に書き換えているようです。その場合は、sitemap.xml(およびパブリックにアクセスできるはずのその他のファイル)を/publicサブディレクトリに移動する必要があります。

これを確認するには、ルート.htaccessファイルの内容を確認する必要があります。 (質問を編集してこれを含めてください。)

PDATE:.htaccessファイルは上記を確認します。

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

ドキュメントルートの.htaccessファイルから、allリクエストが/publicサブディレクトリに書き換えられていることがわかります。したがって、example.com/sitemap.xmlのリクエストは、内部でexample.com/public/sitemap.xmlに書き換えられます

これは、最初に考えたように、ドキュメントルートが「effectively」_/home/winnerrs/public_html/publicではなく/home/winnerrs/public_htmlであることを意味します。

sitemap.xmlファイルをpublic_htmlディレクトリからpublic_html/publicディレクトリに移動する必要があります。

0
MrWhite