Php Wordpress.htaccess\域名问题

Php Wordpress.htaccess\域名问题,php,wordpress,.htaccess,mod-rewrite,Php,Wordpress,.htaccess,Mod Rewrite,因为有人对我们的一个可湿性粉剂网站做了一个小改动,并从url中删除了“www.”(或者我被告知是这样的),所以在最后一秒被取消了。现在,只能通过在wxyz.com中键入来访问该页面(示例)。所以,我猜测这是一封.htaccess的信,并告诉了我的朋友,他是该项目的附属人员。他同意试一试,但由于时间限制,把它交给了我 所以我看了大约3小时。一个非常简单的小问题,很明显我遗漏了一些东西 另一位开发商表示,他所做的只是添加: RewriteCond %{HTTP_HOST} !^kokonut\.co

因为有人对我们的一个可湿性粉剂网站做了一个小改动,并从url中删除了“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重写的,但恢复到原来的状态对我来说也不会有什么作用。老实说,在这一点上,我可能在原地踏步。):

#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
#结束WordPress
我第一次被指派“修复”它时的情况:

#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
重写cond%{HTTP_HOST}!^wxyz\.com$[NC]
重写规则(.*)http://wxyz.com/$1[R=301,L]
#结束WordPress
那么,我在这里遗漏了什么呢?显然,他可以毫无问题地把它从一无所有变为一无所有,为什么要把它恢复回来如此艰难

我以前从未在这个网站、这个服务器或这个团队工作过。所以这是第一次。我涉猎过.htaccess,但我不是“专家”,如果我是,我肯定不会陷入困境


非常感谢您的帮助。

不确定这是否是您问题的根源,但一个大问题是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

重写cond%{HTTP_HOST}!^wxyz\.com$[NC]
重写规则(.*)http://wxyz.com/$1[R=301,L]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
#结束WordPress

进行了这些更改,从wp config.php中删除了我的硬值……现在它给了我一个“无休止的重定向循环”,我无法访问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]
RewriteCond %{HTTP_HOST} !^wxyz\.com$ [NC]
RewriteRule (.*) http://wxyz.com/$1 [R=301,L]
</IfModule>

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