Estou tentando criar uma plataforma social como Instagram ou Facebook e quero mostrar aos usuários um nome de usuário como examplesite.com/username aqui no URL. Eu estava pesquisando como fazer isso e descobri que é feito com códigos de reescrita do htaccess. eu tenho um código
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ user.php?url=$1 [QSA,L]
Geralmente funciona, mas, por exemplo, quando quero entrar em examplesite.com/login ou na página de registro, rewriterules pensa que a palavra login ou registro é um nome de usuário e nunca abre. As pastas devem estar abertas e também css, scss, js, img etc. pastas no meu servidor devem ser consideradas como nome de usuário, portanto, se alguém examplesite.com/css, img ou js etc. palavras escreverem no URL, não devem ser abertas arquivos css, img ou js.
Desculpe meu ingles. Obrigado a todos! <3
Responder1
Uma série de coisas diferentes:
Não use .htaccess
arquivos
Existem numerosos exemplos bem-intencionados de código em .htaccess
arquivos que são copiados repetidas vezes por/paraculto à cargaadministradores de sistema isso deveria estar lendo o manual real.
De:https://httpd.apache.org/docs/2.4/howto/htaccess.html
Em geral, você só deve usar
.htaccess
arquivos quando não tiver acesso ao arquivo de configuração principal do servidor. Existe, por exemplo, um equívoco comum de que a autenticação do usuário deve sempre ser feita em arquivos .htaccess e, nos anos mais recentes,outro equívoco de que as diretivas mod_rewritedevevá em.htaccess
arquivos.Este simplesmente não é o caso.
...
No caso de diretivas RewriteRule, no.htaccess
contextoessas expressões regulares devem ser recompiladas a cada solicitação ao diretório, enquanto no contexto de configuração do servidor principal elas são compiladas uma vez e armazenadas em cache.Além disso, as regras em si são mais complicadas, pois é preciso contornar as restrições que acompanham o contexto por diretório e o mod_rewrite. Consulte oGuia de reescrita para mais detalhes sobre este assunto.
Segundo:
Você já mencionou alguns nomes de diretório que deveriam ser excluídos do example.com/[user-alias]
mapeamento.
Não se esqueça de também proibir as pessoas de selecionar intencionalmente esses nomes de diretório (e outros) como seus alias de usuário também em sua página de inscrição.
Durar
RewriteCond
diretivas são usadas para restringir os tipos de solicitações que estarão sujeitas ao seguinte RewriteRule
.
Sua configuração atualmente diz, em inglês "simples", não aplique o seguinte RewriteRule
quando houver um arquivo ou diretório existente com o mesmo nome do componente de nome de arquivo da solicitação.
Você simplesmente pode adicionar condicionais extras com RewriteCond
linhas extras, por exemplo:
RewriteCond %{REQUEST_FILENAME} !"login"
deveria excluirexample.com/login