(我的旧网站位于/dotclear/index.php/
目录中。)
我想对新网页进行一些自定义重定向,并将所有其余内容重定向到主页。
目前,我指定的重定向全部重定向到主页,而我未指定的页面重定向到没有前缀的相同URL。
如果没有重定向301规则,/dotclear/index.php/somepage
会重定向到/somepage
,我希望它重定向到/
使用重定向301规则,/doctlear/index/oldpage
重定向到/
,我希望它重定向到/newpage
这是我尝试过的。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Options -Indexes
Redirect 301 /dotclear/index.php /
Redirect 301 /dotclear/index.php/oldpage /new-page //redirects to home but shoudln't
Redirect 301 /dotclear/index.php/anotheroldpage /anothernewpage //redirects to home but shouldn't
答案 0 :(得分:1)
这种方法几乎没有问题:
Redirect
与mod_rewrite
规则混合通过所有修复,您可以在.htaccess中使用这些指令:
Options -Indexes
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dotclear/index\.php$ / [L,R=301,NC]
RewriteRule ^dotclear/index\.php/oldpage/?$ /new-page [L,R=301,NC]
RewriteRule ^dotclear/index\.php/anotheroldpage/?$ /anothernewpage [L,R=301,NC]
RewriteRule ^index\.php$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
确保使用新的浏览器进行测试以避免旧缓存。