Файл .htaccess по умолчанию для WordPress?


14

Мои .htaccessфайлы перехватывают .htaccessфайл WordPress .

Какие модули и какие настройки (указаны .htaccess) необходимы для работы WordPress? Другими словами, где я могу найти .htaccessфайл WordPress по умолчанию ?


Есть статья о htaccessфайлах в WordPress .
Николай

Ответы:


23

Вот код по умолчанию для этого файла.

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

Вы можете проверить это здесь для файла htaccess по умолчанию.

http://codex.wordpress.org/Using_Permalinks .

Благодарю. Надеюсь, это мало поможет.


Пожалуйста, смотрите чат здесь об этом.

6

WordPress не содержится .htaccessв виде файла.

Правила записываются в файл по save_mod_rewrite_rules()функциям и генерируются $wp_rewrite->mod_rewrite_rules().

Обратите внимание, что у многосайтовой установки есть другие (более сложные) правила, и кажется, что они обрабатываются по-разному.


+1 за правильное направление. Пожалуйста, проверьте, правильно ли я понял проблему с моим ответом. Я думаю, что главное - просто использовать API Rewrite_WP, а не изобретать колесо с личными файлами .htaccess.


0

Используйте #wordpress Freenode, чтобы найти соответствующую документацию, обычно в /topic. Там я нашел ключClass WP_Rewrite здесь , официальный wordpress.org это в лучшем случае вводит в заблуждение и маркетинга. В любом случае, не следует смешивать правила переписывания Apache с правилами перезаписи WP, хотя наименование WP, вероятно, соответствует эквиваленту Apache.

Состояния API WP_Rewrite

Вы можете добавить правила для запуска просмотра и обработки страниц с помощью этого компонента. Полная функциональность фронт-контроллера не существует, а это означает , что вы не можете определить, как файлы шаблона загружаются на основе правил перезаписи.

поэтому вы должны использовать API для внесения изменений, не до конца понимая, что это значит, но я думаю, это означает, что вы не можете доверять жестко закодированным файлам .htaccess - все может измениться даже при разных версиях WD! Так что используйте API.

перехватывать

Код здесь есть некоторые условия , если .htaccess -file существует - не 100% своих умозаключений , потому что не очень хорошо документированы и не может понять , именование там , но основная идея, вероятно , что безопасный способ сохранить правила перезаписи заключается в использовании WP_Rewrite API, WP может измениться в будущем.

Например, простое переписывание Apache, по- RewriteRule ^hello$ Layouts/hello.html [NC,L]видимому, похоже на то add_rewrite("^hello$", "Layouts/hello.html"), что он не тестировался, но пытался следовать приведенному ниже API:

add_rewrite_rule (line 19)
Add a straight rewrite rule.

see: WP_Rewrite::add_rule() for long description.
since: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Regular Expression to match request against.
string $redirect: Page to redirect to.
string $after: Optional, default is 'bottom'. Where to add rule, can also be 'top'.

Связанный

  1. http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

  2. http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api

  3. Спасибо Тосхо за помощь здесь , немного болтать в чате.


Я совершенно уверен, что что-то здесь неправильно понял, пожалуйста, просмотрите этот чат здесь . Это перехватило, потому что мой блог был на уровне root, что означает что-то вроде www.hello.com/blog/?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.