Как добавить дополнительные правила mod_rewrite на сайт WordPress? - PullRequest
0 голосов
/ 01 июня 2011

Я загрузил файл 'events.php' на мой сайт WordPress (WordPress установлен в моем корневом каталоге).

Я хотел бы сделать mod_rewrite для этого файла, чтобы можно было перейти на mydomain.com/events

Я пытался просто сделать что-то вроде этого:

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

RewriteRule %events$ events.php [L]

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

# END WordPress

Что не сработало.

Я также обнаружил, что могу добавить теги для перезаписи через WordPress, используя встроенные функции, например:

add_rewrite_rule('^events?','/events.php','top');

Это тоже не сработало - я просто оказался на моей странице 404 по умолчанию, как будто она достигла несуществующей страницы в моем WordPress.

Что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

Попробуйте выполнить следующее:

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

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

# END WordPress

Директива, установленная для URL, не будет соответствовать:

RewriteRule %events$ events.php [L]

Кроме того, директива теперь находится ниже условия, проверяющегосуществующий файл, чтобы он никогда не совпадал с прямым запросом на events.php.

0 голосов
/ 01 июня 2011

Поправьте меня, если я ошибаюсь, но если все, что вам нужно, это чтобы кто-то, кто идет на example.com/events, был направлен на example.com/events.php, тогда вы можете просто сделать перенаправление, как это сделано.

Перенаправление 301 / события http://www.example.com/events.php

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