htaccess переписывает пользователя довольно URL для выполнения запроса - PullRequest
1 голос
/ 15 декабря 2011

Скажем, у меня есть сайт mysite.com, который является сайтом WordPress.

У меня уже есть следующие правила перезаписи для удаления index.php:

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

если я захожу на mysite.com/?blog_type=a-blog-type, я получаю соответствующую страницу только с блогами этого типа

Я хотел бы, чтобы пользователь мог набирать mysite.com/blogs/a-blog-type/ и делать это на самом деле, но продолжать отображать / blogs / a-blog-type /

Я посмотрел на многие подобные ответы здесь, но большинство, кажется, делают так, чтобы он просто перенаправлял с запроса на симпатичный URL, который мне не нужен, так как симпатичный URL просто приводит к 404 ошибка, поскольку он не выполняет запрос.

Спасибо за помощь.

1 Ответ

1 голос
/ 15 декабря 2011

Это правило перезаписи будет принимать любой mysite.com/blogs/a-blog-type/ URL и переписывать его на mysite.com/?blog_type=a-blog-type.Таким образом, mysite.com/blogs/a-blog-type/ будет отображаться для пользователя, но mysite.com/?blog_type=a-blog-type будет загружено.

RewriteRule ^blogs/([^/]*)((/)?)$ ?blog_type=$1 [nc,l]

РЕДАКТИРОВАТЬ: Итак, вот как ваша конфигурация будет выглядеть теперь:*

...