Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 我的重定向不是';t在一个站点的.htaccess中工作。他们正在其他网站上工作,声明似乎完全相同_Wordpress_Apache_.htaccess - Fatal编程技术网

Wordpress 我的重定向不是';t在一个站点的.htaccess中工作。他们正在其他网站上工作,声明似乎完全相同

Wordpress 我的重定向不是';t在一个站点的.htaccess中工作。他们正在其他网站上工作,声明似乎完全相同,wordpress,apache,.htaccess,Wordpress,Apache,.htaccess,我在MAMP Pro上配置了多台主机。我把他们都安排好了。我在一个站点上使用重定向,而不是在另一个站点上。下面是不工作的站点的.htaccess文件内容。在执行凝视和比较之后,规则似乎是用相同的语法声明的 RewriteRule ^(.*)/register.php$ https://mydomain.test/register/ [L,R=301,NC] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On Rew

我在MAMP Pro上配置了多台主机。我把他们都安排好了。我在一个站点上使用重定向,而不是在另一个站点上。下面是不工作的站点的.htaccess文件内容。在执行凝视和比较之后,规则似乎是用相同的语法声明的

RewriteRule ^(.*)/register.php$ https://mydomain.test/register/ [L,R=301,NC]

# 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
RewriteRule^(.*)/register.php$https://mydomain.test/register/ [L,R=301,NC]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

我解决了这个问题。问题是我在register.php之前有一个斜杠,该文件不在文件夹中。URL是www.mydomain.com/register.php。如果它是www.mydomain.com/folder/register.php,那么这就行了

而不是:

RewriteRule ^(.*)/register.php$ https://mydomain.test/register/ [L,R=301,NC]
应该是:

RewriteRule ^(.*)register.php$ https://mydomain.test/register/ [L,R=301,NC]

我解决了这个问题。问题是我在register.php之前有一个斜杠,该文件不在文件夹中。URL是www.mydomain.com/register.php。如果它是www.mydomain.com/folder/register.php,那么这就行了

而不是:

RewriteRule ^(.*)/register.php$ https://mydomain.test/register/ [L,R=301,NC]
应该是:

RewriteRule ^(.*)register.php$ https://mydomain.test/register/ [L,R=301,NC]

它可能应该是
RewriteRule^register\.php$
,否则您仍然会捕获以
register.php
结尾的任何请求(因为
(.*)
允许前面的任何内容,零次或多次),如果
的意思是“点”,则还需要对其进行转义只是,在这个特殊的情况下,我确实想抓住它。它在没有转义点的情况下工作(在MAMP上),但为了安全起见,我会更新它。非常感谢你的投入。我很感激!它可能应该是
RewriteRule^register\.php$
,否则您仍然会捕获以
register.php
结尾的任何请求(因为
(.*)
允许前面的任何内容,零次或多次),如果
的意思是“点”,则还需要对其进行转义只是,在这个特殊的情况下,我确实想抓住它。它在没有转义点的情况下工作(在MAMP上),但为了安全起见,我会更新它。非常感谢你的投入。我很感激!