htaccess мод переписать конфликт с WordPress - PullRequest
0 голосов
/ 15 февраля 2012

Я использую файл htaccess для проекта, использующего следующие правила:

RewriteEngine on

RewriteRule ^page/([^/\.]+)/?$ page.php?page=$1 [L]
RewriteRule ^([^/\.]+)/?/([^/\.]+)/?$ page.php?theme=$1&pg=$2 [L]

RewriteRule ^([^/\.]+)/?$ page.php?theme=$1&pg=$1 [L]
RewriteRule ^([^/\.]+)/?/$ page.php?theme=$1&pg=$1 [L]

, который эффективно меняет domain.com/theme/page на domain.com/page.php?theme=theme&pg=page.

Проблема, с которой я столкнулся,что в этом проекте я также использую установку WordPress, установленную в domain.com/blog.

, поэтому посещение domain.com/blog переписывает в domain.com/page.php?theme=blog и прерывает установку WordPress.

есть ли способ установить исключение из правила перезаписи, чтобы domain.com/blog правильно загрузил блог wp?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Добавьте базу сверху

RewriteBase /

И очевидным ответом будет просто добавить правило RewriteRule ^blog/ - [L] после этого, но что я не понимаю в вашем вопросе, так это то, что Wordpress будет нормальносоздайте свой собственный оптимизированный .htaccess в подкаталоге /blog.Тот факт, что правила в вашем файле DOCROOT .htaccess запускаются, говорит мне о том, что этого не существует, потому что если это произойдет, то это будет выполняться вместо URI / blog / *.Вы смотрели на плагин WP htaccess Control ?

0 голосов
/ 15 февраля 2012

Попробуйте исключить /blog из обработки следующим образом

RewriteEngine on
RewriteBase / 

#if its blog, do nothing
RewriteRule ^blog/  - [L,NC] 

#rest of your rules go here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...