我正在使用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