将多个旧页面重定向到新页面

时间:2014-10-06 16:56:17

标签: apache .htaccess mod-rewrite

我正在改变我的页面结构,我需要将旧页面重新定向到新页面。

以下是我需要移动的以下某些页面的示例,基本上pages文件夹中的任何内容都需要向下移动,旧页面也始终显示php扩展名。

www.example.com/pages/index.php          www.example.com/index
www.example.com/pages/contact_us.php     www.example.com/contact_us

这是我到目前为止所拥有的

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteRule ^pages/(.*)$ /$1 [L,R=301]

修改

上面的重写有效,但是使得例如example.com/contact_us这样的页面无法使用,你必须在最后添加一个扩展名.php,这不是我在此规则之前遇到的问题

1 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+pages/(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ pages/$1.php [L]
相关问题