Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 301页面ID页面的重定向_.htaccess - Fatal编程技术网

.htaccess 301页面ID页面的重定向

.htaccess 301页面ID页面的重定向,.htaccess,.htaccess,我有一个旧的Wordpress网站,我已经转换成一个新的Wordpress网站。问题是老开发人员使用了页面ID,而不是更改永久链接。我必须将整个站点的页面ID重定向到实际的新页面名称。我找到了将任何页面id重定向到主页的代码,但我的客户机希望每个页面id与我创建的新页面匹配。如果可能的话,您能告诉我如何在.htaccess文件中执行此操作吗?这是到目前为止我的.htaccess代码。当我进行测试时,它会将所有旧页面定向到主页: # BEGIN WordPress <IfModule mod

我有一个旧的Wordpress网站,我已经转换成一个新的Wordpress网站。问题是老开发人员使用了页面ID,而不是更改永久链接。我必须将整个站点的页面ID重定向到实际的新页面名称。我找到了将任何页面id重定向到主页的代码,但我的客户机希望每个页面id与我创建的新页面匹配。如果可能的话,您能告诉我如何在.htaccess文件中执行此操作吗?这是到目前为止我的.htaccess代码。当我进行测试时,它会将所有旧页面定向到主页:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{QUERY_STRING} page_id=(.*)$
RewriteRule $ /? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
RewriteCond%{QUERY\u STRING}页面\u id=(.*)$
重写规则$/?[R=301,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

谢谢大家!

您可以做的一件事是删除这两行

RewriteCond %{QUERY_STRING} page_id=(.*)$
RewriteRule $ /? [R=301,L]
从你的.htaccess

登录到wordpress安装,转到

背景→ Permalinks→ 常见设置

选择

自定义结构:/%postname%/

如果你有很多页面,如果你的WordPress版本就不要使用这个