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 rebuild-301将旧页面(*.php)重定向到漂亮的永久链接_Wordpress_Mod Rewrite_Rewrite - Fatal编程技术网

Wordpress rebuild-301将旧页面(*.php)重定向到漂亮的永久链接

Wordpress rebuild-301将旧页面(*.php)重定向到漂亮的永久链接,wordpress,mod-rewrite,rewrite,Wordpress,Mod Rewrite,Rewrite,以下是我需要做的: 旧页面是mydomain.com/something.php 新页面是在Wordpress中重建的,使用相当长的永久链接标识,因此它们是mydomain.com/something/ 我需要弄清楚重写规则应该是什么样子。我已经爬网了,找不到与之完全相同的东西。类似于: RewriteEngine On RewriteRule ^(.*)\.php$ $1/ [R=permanent] (*)是.php之前的一组字符,$1表示该组字符。因此,只需在组中添加一个斜杠,并使用

以下是我需要做的:

旧页面是mydomain.com/something.php

新页面是在Wordpress中重建的,使用相当长的永久链接标识,因此它们是mydomain.com/something/

我需要弄清楚重写规则应该是什么样子。我已经爬网了,找不到与之完全相同的东西。

类似于:

RewriteEngine On
RewriteRule   ^(.*)\.php$ $1/ [R=permanent]
(*)是.php之前的一组字符,$1表示该组字符。因此,只需在组中添加一个斜杠,并使用HTTP代码301(永久重定向)将浏览器发送到新URL即可。

尝试以下操作:

RewriteEngine On
RewriteBase /

#Ignore index.php 
RewriteCond %{REQUEST_URI} !index\.php
RewriteCond %{REQUEST_URI} !(wp-login|wp-admin|wp-includes)
RewriteCond %{REQUEST_URI} ^(.*)\.php$
RewriteRule ^(.*)\.php$ $1/ [R=301,L]

#"Standard" Wordpress Rewrite Stuff
RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/catalog
RewriteRule . /index.php [L]