Meu htaccess RewriteRule funciona em localhost / mysite mas não em mysite.com em um host compartilhado 1 & 1
infelizmente, a solução não é satisfatória. Esta manhã, ao tentar a Sugestão do @Wige, descobri, para minha surpresa, que os valores esperados eram realmente enviados para a página como umGET
inquerir. Aparentemente, 1 e 1 (que eu sei que estão fazendo mudanças em seu ambiente nas últimas duas semanas), fizeram algo por trás dos bastidores que magicamente corrigiram meu problema, e agora todo o meu código anteriormente não trabalhadoé funcionando como originalmente esperado.
Nova informação: OApache versão do servidor de produção é1.3.34
vs2.2.21
no meulocalhost.
Estou tendo problemas para descobrir por que meu RewriteRule não está funcionando corretamente na produção.
RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]
No meu ambiente de teste local (localhost/mysite/page/pretty-url/{...}
) funciona bem, masmysite.com/page/pretty-url/{...}
não funciona corretamente. Carregapage.php
como esperado, mas aparentemente o?query=$1
peça é ignorada ($_GET
está vazia)
Eu imagino que o problema esteja de alguma forma relacionado à configuração do servidor. Estou em uma conta de hospedagem compartilhada 1 & 1 sem acesso httpd.conf.
O que issoRewriteRule
faz (oudevemos Faz):
Eu quero URLs como
*example.com/page/pretty-url/{{info_for_dynamic_content}}
para ser reescrito para
*/page.php?query={{info_for_dynamic_content}}
Então eu posso acessarinfo_for_dynamic_content
dentrophp
Como$_GET['query']
O arquivo completo do .htaccess para referência:
AddHandler x-mapp-php6 .php
DirectoryIndex index.php
ErrorDocument 404 /index.php
Options +FollowSymLinks
# per @Jacques Chester's suggestion
Options -MultiViews
RewriteEngine on
RewriteBase /
# the rule in question
RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f
RewriteRule (.*) /index.php [L]