我在以前是.NET站点的Apache服务器上使用WordPress重新创建了一个新站点,旧页面URL看起来像这样:
Page.aspx?p=70
我需要使用.htaccess
将所有页面重定向到新的漂亮网址当我使用
时Redirect 301 /Page.aspx?p=70 http://example.com/foobar
它不起作用,WordPress将其发送到
/?attachment_id=70
我的.HTACCESS看起来像这样
Redirect 301 /Page.aspx?p=70 http://example.com/foobar
# 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
答案 0 :(得分:0)
这样做:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^p=70$ [NC]
RewriteRule ^Page\.aspx$ /foobar? [L,NC,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
请记住使用%{QUERY_STRING}
指令不匹配Redirect
。