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>
ディレクトリ構造を見ると、ドキュメントルート(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
ディレクトリに移動する必要があります。