rpmarques 3 Denunciar post Postado Julho 18, 2016 Boa tarde para todos, estou tentando implementar expressões regulares no meu sistema, atualmente ao clicar em algum item, por exemplo para editar um produto o link é: produtoAlterar.php?id=[iD DO REGISTRO ENCRIPTADO] o que eu gostaria é que ficasse deste forma: produtoAlterar/[iD DO REGISTRO ENCRIPTADO] pelo que eu andei pesquisando, isto se chama url amigavel, e na minha ignorância, ficaria assim? RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9_-]+)$ produtoAlterar.php?id=$1 RewriteRule ^([a-zA-Z0-9_-]+)$ produtoExcluir.php?id=$1 dai eu teria que por uma regra para cada página PHP? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 18, 2016 Primeiro que as duas regras são exatamente iguais, logo isso dai nunca vai funcionar. Segundo, se você deseja apenas alterar de: nomeDoArquivo.php?id=algumacoisa para nomeDoArquivo/algumacoisa Você pode usar a algo mais simples: RewriteRule ^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_-]+)$ $1.php?id=$2 Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 18, 2016 Nesse seu caso, sim. Com expressões regulares, você pode definir que a regra se restrinja a uma pasta (ou root), arquivos (prefixo, sufixo, extensão). Entretanto, as regras precisam possuir um ponto de diferença (que e exatamente o que o ESerra está descrevendo). Compartilhar este post Link para o post Compartilhar em outros sites
rpmarques 3 Denunciar post Postado Julho 18, 2016 Ok, e o php, tenho que fazer alguma coisa ou não preciso alterar nada? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 18, 2016 A princípio nada. Mas tudo depende da forma que você irá realizar a conversão. O apache somente realizará a conversão de entrada. Da URL amigável para o padrão que o PHP já estava esperando receber. Compartilhar este post Link para o post Compartilhar em outros sites
rpmarques 3 Denunciar post Postado Julho 18, 2016 qndo tento usar o sistema com o .taccess, ele esta me retornando isto: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 18, 2016 Acabei de testar um htacess apenas com: RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_-]+)$ $1.php?id=$2 E funcionou como esperado... se você tiver mais coisa no htaccess, esse pode ser o problema. Compartilhar este post Link para o post Compartilhar em outros sites
rpmarques 3 Denunciar post Postado Julho 18, 2016 cara...minha url é assim: http://localhost/interno2/produtoSaidaIncluir.php e continua dando o erro, o meu .htaccess só tem o teu código, não tem que liberar nada no php.ini ou algo parecido? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 18, 2016 O PHP sequer "sabe" que existe URL amigável... Veja se o mod_rewrite está ativo no seu localhost... Compartilhar este post Link para o post Compartilhar em outros sites