我正在改变我的页面结构,我需要将旧页面重新定向到新页面。
以下是我需要移动的以下某些页面的示例,基本上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,这不是我在此规则之前遇到的问题
答案 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]