我已經閱讀了大量的 Stackoverflows,但我似乎遺漏了一些東西。
我有一個在https://subdomain.example.com/page/x上運行的 PHP 應用程式,但出于 SEO 原因,我希望人們/機器人看到https://example.com/subdomain/page/x。
我可以使用以下方法重寫 URL:
RewriteEngine on
RewriteCond %{HTTP_HOST} subdomain.example.com
RewriteRule ^(.*)$ https://example.com/subdomain/$1 [L,NC,QSA]
此重寫導致:https://example.com/subdomain/page/x,但我不斷收到 404 錯誤,因為“主”域當然不知道路徑/subdomain/page/x。
我想要的是擁有 URLhttps://example.com/subdomain/page/x但https://subdomain.example.com/在后臺運行它,因為這是運行 PHP 應用程式的地方。
這可能嗎?我該怎么做?
uj5u.com熱心網友回復:
沒有強烈的 SEO 理由不使用子域。請參閱子域是否有助于/傷害 SEO? 我建議大多數時候使用子目錄,但在必要時使用子域。
保證子域的一個地方是當您的內容托管在單獨托管位置的單獨服務器上時。雖然在技術上可以從單獨的服務器的子目錄中提供內容,但這會帶來自己的一組 SEO 問題:
- 它會很慢。
- 它將引入重復的內容。
從技術角度來看,您需要在您的example.com網路服務器上使用反向代理來/subdomain/從subdomain.example.com. 在.htaccess檔案中執行此操作的代碼example.com類似于:
RewriteEngine on
RewriteRule ^subdomain/(.*)$ https://subdomain.example.com/$1 [P]
該[P]標志表示“反向代理”,它將導致服務器從遠程子域獲取內容。這必然會使用戶變慢。如此之多,以至于 SEO 使用子域會更好。
為此,您還需要讓子域保持啟動并運行并為主服務器提供內容以獲取。這會導致重復的內容。您可以通過實作指向子目錄的規范標簽來解決此問題。
這需要幾個可用的 Apache 模塊。在我基于 Debian 的系統上,我需要運行sudo a2enmod ssl proxy rewrite proxy_connect proxy_http和sudo service apache2 reload. 我還必須為我想使用它的網站添加SSLProxyEngine on指令<VirtualHost>。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/435979.html
