2014-09-18 3 views
1

Я воссоздан новый сайт с помощью WordPress на сервере Apache, который имел обыкновение быть .NET сайта, старые URLS страница выглядеть следующим образом:Как перенаправить Page.aspx =

Page.aspx?p=70 

мне нужно до 301 перенаправления всех страниц в их новых симпатичных URLS с помощью .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

Просьба поделиться всем своим .htaccess – Bjorn

+0

@Bjorn Я добавил .htaccess – user2520794

ответ

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 директивы.

+0

Да, это работает! Спасибо! Знаете ли вы, если это будет проблемой для 70 страниц? – user2520794

+0

№ 70 не так уж много для правил перезаписи. Я видел более 1000 правил, подобных этому. Также вы можете пометить ответ как принятый, нажав на отметку в левом верхнем углу моего ответа. – anubhava

Смежные вопросы