【发布时间】:2017-12-22 21:19:17
【问题描述】:
我目前正在使用带有https://www.example.com/%category%/%postname%/ 永久链接结构的 Wordpress 4.8。我也使用Redirection 插件。过了一会儿,我决定使用 tutorial from official wordpress.org 将我的 wordpress 安装从根目录移动到子目录。我完全按照第一种方法。它可以工作,但有时我会在重定向插件日志和 Google Search Console 日志中收到很多 404 错误日志。
我使用 同名 和域名为 wordpress 创建了子目录。假设我的域是https://www.example.com。我创建了 www.example.com 的子目录名称。原因是因为我有多个插件域,我以类似的方式安装了 wordpress。只有这个主域有问题。
问题: 我经常在重定向插件日志和 Google Search Console 中收到 404 错误日志。假设我有一个 overflow 页面,那么我的 URL 错误看起来像这样 https://www.example.com/www.example.com/category/overflow/ 而不是 https://www.example.com/category/overflow/,这每天都会发生在许多 URL 甚至更新的帖子上。除了我的 index.php 之外,我的 https://www.example.com/www.example.com/index.php 总是重定向到 https://www.example.com/ 没有任何问题,也没有错误日志。
.HTACCESS 在根目录
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/www.example.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ /www.example.com/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(/)?$ www.example.com/index.php [L]
</IfModule>
子目录上的.HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>
# END HTTPS
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
问题: 如何添加通配符重定向,它将任何匹配条件 www.example.com/www.example.com 的内容重定向到 www.example.com
例如:
- https://www.example.com/www.example.com/pageA/ 到 https://www.example.com/pageA/
- https://www.example.com/www.example.com/Category1/pageB/ 到 https://www.example.com/Category1/pageB/
- https://www.example.com/www.example.com/Category2/pageC/ 到 https://www.example.com/Category2/pageC/ 等等。
我会说实话。我确实知道如何将 oldPage 重定向到 newPage 但似乎这超出了我的知识范围。我尝试了很多关于谷歌和重定向生成器等的教程,但我仍然收到这种类型的 404 错误日志。请帮我。提前致谢。
【问题讨论】:
标签: php wordpress apache .htaccess redirect