我已经安装了一个新的多站点WordPress安装。一切正常,除了谷歌仍在抓取旧的URL(扩展名为.php)。
这些URL现在显示一个500错误,这似乎是由于htaccess问题造成的,即这些URL没有命中WordPress。(我目前使用的是标准WordPress多站点htaccess代码。)
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
我需要添加一个重写到网站的。htaccess将删除。在服务器上找不到的文件的php扩展名(即排除WordPress核心文件,如wp-login.php等)我使用此代码删除。php扩展
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ / [L,QSA]
</IfModule>
这解决了500错误,并允许我使用wp redirect插件为旧站点设置重定向,正如我最初打算的那样,但它会导致在一些子文件夹multisites上加载样式和图像时出现一些问题,因此我认为它需要改进!