Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
通过.htaccess将页面从.php重定向到Wordpress扩展_Wordpress_.htaccess - Fatal编程技术网

通过.htaccess将页面从.php重定向到Wordpress扩展

通过.htaccess将页面从.php重定向到Wordpress扩展,wordpress,.htaccess,Wordpress,.htaccess,我最近把我的网站改成了Wordpress。旧站点上的链接结构是www.example.com/contact.php,但现在是www.example.com/contact/。我希望所有传入的链接被重定向到www.example.com/contact/(或任何页面)。最近有人帮我解决了这个问题。htaccess代码是: RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /(.*)\.php($|\ ) RewriteCond %{REQUEST_URI}

我最近把我的网站改成了Wordpress。旧站点上的链接结构是www.example.com/contact.php,但现在是www.example.com/contact/。我希望所有传入的链接被重定向到www.example.com/contact/(或任何页面)。最近有人帮我解决了这个问题。htaccess代码是:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /(.*)\.php($|\ )
RewriteCond %{REQUEST_URI} !wp-login
RewriteRule ^ /%2/ [L,R=301
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^ /%1.php [L]

它在一定程度上起作用。首先,我有一个自定义联系人表单(来自自定义联系人表单插件),它不会提交表单。第二,当我尝试更新页面时,它只会将我带到posts页面。除了wp登录,还有什么我应该排除的吗?提前谢谢

创建新页面和帖子以及更新旧页面和帖子的所有代码都在
wp admin
中,因此我怀疑您需要将其添加到列表中

因此,脚本的第一部分变成:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /(.*)\.php($|\ )
RewriteCond %{REQUEST_URI} !wp-login [OR]
RewriteCond %{REQUEST_URI} !wp-admin
RewriteRule ^ /%2/ [L,R=301]

当然,如果您有非标准的文件夹名称,请根据需要进行修改

我对此完全不熟悉,但似乎只是跳过了其中的[或]部分。