Apache-2.2
如何為 Apache 伺服器上的所有域創建 robots.txt 文件
我們有一個帶有虛擬主機的 XAMPP Apache 開發 Web 伺服器設置,並希望阻止 serps 抓取我們所有的網站。這可以通過 robots.txt 文件輕鬆完成。但是,我們不希望在每個虛擬主機中都包含 disallow robots.txt,然後當我們在另一台伺服器上使用該站點時必須將其刪除。
有沒有辦法使用 apache 配置文件將所有虛擬主機上對 robots.txt 的所有請求重寫為單個 robots.txt 文件?
如果是這樣,你能給我舉個例子嗎?我認為它會是這樣的:
RewriteEngine On RewriteRule .*robots\.txt$ C:\xampp\vhosts\override-robots.txt [L]
謝謝!
Apache mod_alias就是為此而設計的,可以從核心 Apache 系統中獲得,並且可以在一個地方設置,幾乎沒有處理成本,這與 mod_rewrite 不同。
Alias /robots.txt C:/xampp/vhosts/override-robots.txt
使用 apache2.conf 文件中的該行,在所有虛擬主機之外,http ://example.com/robots.txt - 在它服務的任何網站上,將輸出給定文件。
將通用全域
robots.txt
文件放在伺服器文件系統中可供 apache 程序訪問的某個位置。為了便於說明,我假設它位於/srv/robots.txt
.然後,要設置
mod_rewrite
將該文件提供給請求它的客戶端,請將以下規則放入每個虛擬主機的<VirtualHost>
配置塊中:RewriteEngine on RewriteRule ^/robots.txt$ /srv/robots.txt [NC, L]
如果您將重寫規則放入每個目錄的
.htaccess
文件而不是<VirtualHost>
塊中,則需要稍微修改規則:RewriteEngine on RewriteBase / RewriteRule ^robots.txt$ /srv/robots.txt [NC, L]