2013-12-13 3 views
1

Просто созданный веб-сайт на основе Wordpress, и теперь у меня есть следующая проблема. Старый сайт, который не был построен в Wordpress, использовал переменную p= для своих страниц, как Wordpress. Теперь я пытаюсь перенаправить их, но это не работает, я думаю, потому что Wordpress также использует переменную p.Перенаправить страницу Wordpress с переменной

Я хочу, чтобы перенаправить страницу http://purplethinking.nl/mauritshof/?p=brunch на страницу http://purplethinking.nl/mauritshof/feestelijk/brunch

Я изменил мою .htaccess и добавил следующую строку:

RewriteRule ^/mauritshof/?p=brunch$ /feestelijk/brunch/[L] 

Не могли бы вы сказать, что я делаю неправильно?

Edit: Вот мой полный файл .htaccess

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /mauritshof/ 

RewriteCond %{QUERY_STRING} ^p=([^&]+) 
RewriteRule ^mauritshof/?$ /feestelijk/brunch/ [L,R] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /mauritshof/index.php [L] 
</IfModule> 

# END WordPress 

ответ

1

Ваше правило не может работать, потому что:

  • RewriteRule не соответствует QUERY_STRING.
  • RewriteRule не соответствует слэша
  • вам нужен флаг R для перенаправления

Полный .htaccess:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /mauritshof/ 

RewriteCond %{QUERY_STRING} ^p=(brunch)(?:&|$) 
RewriteRule ^/?$ /feestelijk/%1/? [L,R] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /mauritshof/index.php [L] 
</IfModule> 

# END WordPress 
+0

Спасибо за быстрый ответ! Я добавил эти правила в мой .htaccess, до сих пор не повезло. – PieterB

+0

Можете ли вы вставить свой полный .htaccess в свой вопрос. – anubhava

+0

Я haved добавил мой .htaccess файл – PieterB

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