Arquivo .htaccess padrão para WordPress?


14

Meus .htaccessarquivos estão interceptando o .htaccessarquivo do WordPress .

Quais módulos e quais configurações (especificadas por .htaccess) são necessárias para o WordPress funcionar? Em outras palavras, onde posso encontrar o .htaccessarquivo padrão do WordPress ?


Existe o artigo do codex do WordPress sobre htaccessarquivos.
Nicolai

Respostas:


23

Aqui está o código padrão para esse arquivo.

# 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

você pode verificar aqui o arquivo htaccess padrão.

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

Obrigado. Espero que ajude pouco.


Por favor, veja o chat aqui sobre isso.

6

WordPress não contém .htaccessem forma de arquivo.

As regras são gravadas em arquivo por save_mod_rewrite_rules()função e são geradas por $wp_rewrite->mod_rewrite_rules().

Observe que a instalação multisite possui regras diferentes (mais complexas) e parece ser tratada de maneira diferente.


+1 na direção certa. Revise se entendi o problema corretamente com a minha resposta. Eu acho que o principal é usar a API Rewrite_WP, não reinventar a roda com arquivos .htaccess pessoais.


0

Use o #wordpress do Freenode para encontrar a documentação apropriada, geralmente no /topic. Lá encontrei a chave Class WP_Rewrite aqui , o wordpress.org oficial é, na melhor das hipóteses, enganoso e de marketing. De qualquer forma, não misture as regras de reescrita do Apache com as regras de reescrita do WP, embora a nomeação do WP seja provavelmente do equivalente do Apache.

A API WP_Rewrite declara

Você pode adicionar regras para acionar a visualização da página e o processamento usando este componente. A funcionalidade completa de um controlador frontal não existe, o que significa que você não pode definir como os arquivos de modelo são carregados com base nas regras de reescrita.

portanto, você deve usar a API para fazer as alterações, sem ter certeza do que isso significa, mas acho que significa que você não pode confiar em seus arquivos .htaccess codificados - as coisas podem mudar mesmo com versões WD diferentes! Então use a API.

interceptando

O código aqui possui algumas condições se o arquivo .htaccess existir - não 100% de suas inferências, porque não está bem documentado e não pode entender a nomenclatura, mas a mensagem central é provavelmente a de que a maneira segura de manter as regras de reescrita é usar a API WP_Rewrite, o WP pode mudar no futuro.

Por exemplo, uma simples reescrita do Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]é aparentemente algo como add_rewrite("^hello$", "Layouts/hello.html"), não testei, mas tentei seguir a API abaixo:

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'.

Relacionado

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

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

  3. Obrigado a toscho por ajudar aqui , algumas conversas pequenas no bate-papo.


Tenho certeza de que entendi errado algo aqui. Por favor, reveja este bate-papo aqui . Ele interceptou porque meu blog estava no nível raiz, significando algo como www.hello.com/blog/?
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.