我正在使用Wordpress Multisite以及我使用JavaScript構建的一些網頁。自然,我的搜索引擎優化很糟糕。所以我創建了myurl.com上託管的phantom.js prerender.io服務:3000.htaccess將Google Bot重定向到通過完整URL的預渲染服務
我正在嘗試重定向google bot以使用prerender服務。我需要將完整的url傳遞到prerender服務,如下所示:http://myurl.com:3000/http://sub.myurl.com/cats/are/cool
正如您所看到的,我使用的是子目錄wordpress多站點,因此需要傳遞子域和域。
第一個問題
這是原來的WordPress的.htaccess
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
我曾嘗試使用此:
RewriteEngine On
RewriteCond %{QUERY_STRING} _escaped_fragment_
RewriteRule ^(.*) http://service.prerender.io/http://example.com [P,L]
RewriteBase/
RewriteRule ^index\.php$ - [L]
...
只是用於測試,我在我的瀏覽器,我運行http://myurl.com?_escaped_fragment_=得到這樣一個頁面:
Not Found
The requested URL/was not found on this server.
它甚至不會重定向到http://service.prerender.io。我猜測與wordpress規則存在某種衝突。
更新:這個問題是通過開啓mod_proxy的感謝固定,以@喬恩林
第二問題
有一次,我在正確的URL(http://myurl.com:3000)流行,我不知道如何抓住整個URL提供給服務!我google和谷歌,我只能找到有關如何獲得域後的url參數的信息。
雖然第一個問題,但第二個只是獎金。我可以在另一個問題中討論這個問題,因爲第一個問題是固定的,所以我能夠更好地進行測試。
你確定你已經加載了mod_proxy嗎?除非在服務器配置中加載了mod_proxy,否則'P'標誌將不會執行任何操作。 –
這樣做!對不起,我不知道P旗是什麼意思。 – thegreyspot