Переписать правило в дополнение к Wordpress ' - PullRequest
0 голосов
/ 16 мая 2011

Итак, я пытаюсь добавить свой собственный RewriteRule в дополнение к тому, что уже есть в Wordpress. Немного фона Сайт, над которым я работаю, создан на основе пользовательской CMS, но также имеет блог на платформе WordPress. Итак, вот что я имею до сих пор:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Custom rewrite for locatons
RewriteRule ^locations/(.*)$  /locations2.php?info=$1

# Wordpress rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

Я также избавился от пары строк кода переписывания Wordpress, которые казались ненужными (все по-прежнему работает .... Я думаю). Но да, похоже, это переписывает правило, которое я написал. Помощь

О, я только что попытался избавиться от ., который был до /blog/index.php [L], и заменил его на ^, это сработало ... вроде. Он загружал блог, когда я заходил в / blog /, но когда я заходил во что-то вроде / blog / author / admin, я получал 404.

Ответы [ 2 ]

0 голосов
/ 16 мая 2011

Я думаю, вам нужно добавить последний флаг [L] после вашего нового правила, иначе обработка будет продолжена, и ваш запрос будет переписан в '/blog/index.php'.

RewriteRule ^locations/(.*)$  /locations2.php?info=$1 [L]
0 голосов
/ 16 мая 2011

Вы пытались удалить RewriteBase / и косую черту перед location2.php?

Примерно так:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Custom rewrite for locatons
    RewriteRule ^locations/(.*)$  locations2.php?info=$1

    # Wordpress rewrite
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blog/index.php [L]
</IfModule>

Если блог становится недоступным, переместите RewriteBase / впосле кастома переписать.Кроме того, я считаю, что если блог находится в подкаталоге, RewriteBase должен быть RewriteBase /blog/

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