0

由于有人对我们的 WP 网站进行了细微调整并删除了“www”,因此在最后一秒被拉了上来。(或者我被告知)来自网址。现在只能通过输入 wxyz.com(示例)来访问该页面。所以,我推测这是一个 .htaccess 写的,并告诉了我的朋友,他是那个项目的成员。他同意尝试,但由于时间限制,将其交给了我。

所以我看了大约 3 个小时。一个非常简单的小问题,显然我错过了一些东西。

另一位开发人员说他所做的只是添加:

RewriteCond %{HTTP_HOST} !^kokonut\.com$ [NC]
RewriteRule (.*) http://kokonut.com/$1 [R=301,L]

但首先,我的代码或对他的任何调整都不会改变任何东西。该网站将永远无法工作。

其次,WP 有一个前端系统来更改 url,所以在失败后我想“好吧,好吧,我就去那里,在前面说“www”。这破坏了一切,管理面板甚至无法工作了!

所以我不得不进入 wp-config.php 并明确地说:

define('WP_HOME','http://wxyz.com'); 
define('WP_SITEURL','http://wxyz.com');

但这只是回到我们开始的地方!此外,如果没有该代码,有时该站点将无法正常工作。

当前的 .htaccess 文件是按原样编写的(这与他的原始文件不同,显然 WP 覆盖了它,但将其恢复到原来的样子并不会做任何事情,或者在我看来。老实说,此时我可能正在运行我自己在圈子里。):

# 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>

# END WordPress

当我第一次被分配“修复”它时,情况如何:

# 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]
RewriteCond %{HTTP_HOST} !^wxyz\.com$ [NC]
RewriteRule (.*) http://wxyz.com/$1 [R=301,L]
</IfModule>

# END WordPress

那么我在这里错过了什么?显然他可以从 www 更改它 --> 没有问题,为什么将它恢复回来如此困难?

我以前从未在这个站点、这个服务器或这个小组工作过。所以这是第一次。我已经涉足 .htaccess 但我不是“专家”,如果我是我肯定不会在这个泡菜中!

任何帮助表示赞赏。

4

1 回答 1

0

不确定这是否是您问题的根源,但一个大问题是 wordpress 有一个路由规则 ( RewriteRule . /index.php [L]),然后您有一个重定向规则RewriteRule (.*) http://wxyz.com/$1 [R=301,L],这很好,除了您在路由后重定向。外部重定向必须在服务器内部路由事物之前发生。此外,wordpress 将覆盖# BEGIN/END WordPress评论之间的规则。因此,如果您不希望 wordpress 覆盖您添加的规则,则需要将它们包含在该块之外:

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^wxyz\.com$ [NC]
RewriteRule (.*) http://wxyz.com/$1 [R=301,L]
</IfModule>

# 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>

# END WordPress
于 2013-10-18T02:46:58.947 回答