2016-07-04 4 views
0

Мои пермалинки на Wordpress для сообщений/страниц:mod_rewrite `.htaccess` правила с Wordpress

www.foo.com/%postname%

Я хочу, чтобы иметь возможность перенаправить следующее:

от:www.foo.com/web-design/%location%
или:www.foo.com/web-development/%location%

к:www.foo.com/index.php?location=%location%

NB: У меня нет каких-либо сообщений/страниц с именем web-design или web-development, чтобы избежать столкновения.


Мои .htaccess в корне имеет следующее:

<IfModule mod_rewrite.c> 
    RewriteBase/
    RewriteRule ^web-design/([^/]*)$ /index.php?location=$1 [L] 
    RewriteRule ^web-development/([^/]*)$ /index.php?location=$1 [L] 

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

  • Если я посещаю /index.php?location=foo, страница показывает, как ожидалось.
  • Если я нахожусь /web-design/foo (переписанное правило), я вижу страницу 404 - , однако правильные $_GET переменные передаются на эту страницу.

Как я могу заставить Wordpress обрабатывать это правильно?

ответ

1

Я решил это, переименовав страницу 404 с 404.php на номер _404.php.

В результате Wordpress перенаправляет обратно на домашнюю страницу ... но со всеми переменными $_GET нетронутыми.

Не лучшее решение, но оно работает!

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