Pessoal, estou com dificuldades com essa URL amigável, oque pretendo é o seguinte:
No array $pages são as páginas permitidas, contato.php e teste.php
Até ai tudo bem chama as páginas certas, se não existir os arquivos mostra a mensagem que a página não existe.
http://localhost/contato
Agora estou com dificuldades de fazer essa verificação pelo banco de dados, se baseando pelo slug da minha tabela
http://localhost/produtos/tenis-azul
Apenas exibe a mensagem de que a página não existe.
Como poderia resolver esse problema? se precisar posto a class CRUD
toda e entrada no site, seja com link direto do tipo:
www.site.com.br/pasta1/pasta2/arquivo.php
ou normal url amigável
www.site.com.br/categoria/tipo
tudo queria que redirecionasse para o index.php da raiz do site.
E que, caso o arquivo ou pasta NÃO existisse, abrisse normalmente a pagina 404.php
Tentei de tres formas mas nenhuma dá certo.
Primeira forma
RewriteEngine On
ErrorDocument 400 http://www.sortecard.com.br/index.php
ErrorDocument 401 http://www.sortecard.com.br/401.php
ErrorDocument 403 http://www.sortecard.com.br/403.php
ErrorDocument 404 http://www.sortecard.com.br/404.php
ErrorDocument 500 http://www.sortecard.com.br/500.php
php_value allow_url_fopen on
php_value allow_url_include on
php_flag mail_filter 0
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1
Segunda forma:
Options +FollowSymLinks
DirectorySlash On
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?request=$1 [L]
Terceira forma:
RewriteEngine On
ErrorDocument 400 http://www.sortecard.com.br/index.php
ErrorDocument 401 http://www.sortecard.com.br/401.php
ErrorDocument 403 http://www.sortecard.com.br/403.php
ErrorDocument 404 http://www.sortecard.com.br/404.php
ErrorDocument 500 http://www.sortecard.com.br/500.php
php_value allow_url_fopen on
php_value allow_url_include on
php_flag mail_filter 0
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(.*)$ index.php?page=$1
Problemas:
A) Quando acesso a url diretamente não está redirecionando para o index.
B) Quando falo que é para redirecionar todos os arquivos ele não me dá os parêmetros.
estou começando a programar agora em PHP e estou com dificuldade na configuração do .htaccess. Estou utilizando a versão 5.6 do php e configurei o .htaccess da seguinte forma, porém quando faço desta forma não consigo acessar as páginas php da raiz exemplo meusite.com.br/pagina.php, mas as páginas que estão em outro diretório eu consigo acessar normalmente, exemplo meusite.com.br/pastaqualquer/pagina.php.
Olá, estou desenvolvendo um site e nele contem uma página com o nome de index.php, eu queria fazer uma URL personalizada com Htaccess, que no caso seria index.wel, Não sei como fazer isso, ajudem-me Por Favor.