Não use .htaccessarquivos

Não use .htaccessarquivos

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

Existem numerosos exemplos bem-intencionados de código em .htaccessarquivos 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 .htaccessarquivos 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 .htaccessarquivos.Este simplesmente não é o caso.
...
No caso de diretivas RewriteRule, no .htaccesscontextoessas 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

RewriteConddiretivas 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 RewriteRulequando 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 RewriteCondlinhas extras, por exemplo:

RewriteCond %{REQUEST_FILENAME} !"login"

deveria excluirexample.com/login

informação relacionada