Jump to content
tiko165

[Resolvido] Algum erro ao programar no htaccess

Recommended Posts

tiko165

Estou agora a tentar usar o htaccess para reduzir o tamanho dos links, mas quando uso, algo fica mal programado.

Estou a usar por exemplo o link assim:

/index.php?p=empresa&areas

Querendo colocar assim:

/empresa/areas/

Colocando no ficheiro .htaccess o seguinte código:

RewriteRule ^empresa/([A-Z0-9-]+)/?$ index.php?p=empresa&$1 [NC]

Até este ponto, chego facilmente, mas quando tento aceder a este novo link, todos os links de css e js, vão ler a partir de:

/empresa/ABC/css/style.css em vez só /css/style.css, como era anteriormente.

O que estou a colocar de errado aqui?


collectioneuro300px.png

Share this post


Link to post
Share on other sites
HappyHippyHippo

a solução mais simples é usares links absolutos nesses elementos


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
tiko165

Mas se por ventura até alterar o local de ficheiros, terei de alterar tudo, o que não era nada pratico.

Existe alguma forma mais simples para fazer isto? colocando links curtos?


collectioneuro300px.png

Share this post


Link to post
Share on other sites
tiko165

Para que os caminhos de ficheiros abram mesmo esses ficheiros em vez de serem reescritos :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Coloquei dessa forma, mas ficou exactamente igual, sem nada se alterar. :s


collectioneuro300px.png

Share this post


Link to post
Share on other sites
tiko165

Mostra o todo do teu htaccess.

Esta assim neste momento.

Mas ja testei de varias formas. Com e sem o "IfModule", e tudo igual, com e sem o "RewriteEngine on", e mais outras formas, e da sempre da forma que não pretendo.

<IfModule mod_rewrite.c>

 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule .* index.php/$0 [PT]
</IfModule>

Edited by tiko165

collectioneuro300px.png

Share this post


Link to post
Share on other sites
Rui Carlos

Acho muito estranho que isso também esteja a afectar pedidos a ficheiros que existam. Mesmo com a tua condição original, acho que não devia afectar um URL começado por 'css'.

Não estás também a alterar o URL original (directamente no HTML)? O erro não me parece estar o .htaccess.

Share this post


Link to post
Share on other sites
tiko165

No HTML, coloquei a ler o css da forma comum

<link rel="stylesheet" href="css/style.css" />

Acho muito estranho que isso também esteja a afectar pedidos a ficheiros que existam. Mesmo com a tua condição original, acho que não devia afectar um URL começado por 'css'.

Não estás também a alterar o URL original (directamente no HTML)? O erro não me parece estar o .htaccess.


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Rui Carlos

Lá está, o problema é que estás a usar URLs relativos!

Troca

<link rel="stylesheet" href="css/style.css">

por

<link rel="stylesheet" href="/css/style.css">

Share this post


Link to post
Share on other sites
tiko165

Lá está, o problema é que estás a usar URLs relativos!

Troca

<link rel="stylesheet" href="css/style.css">

por

<link rel="stylesheet" href="/css/style.css">

Sim, se eu colocar assim, de uma certa forma até dá.

Mas imagine-mos que os ficheiros, não estão na raiz do site, estão ao ler o css, vai ler a partir da raiz, e não da sub-pasta que tenho.

Edited by tiko165

collectioneuro300px.png

Share this post


Link to post
Share on other sites
tiko165

Usa caminhos absolutos, sempre.

É um bocado chato, pois neste momento, este website ainda esta em testes, e logo, vou ter de usar um caminho para aqui, mas quando pretender colocar no servidor certo, la terei de mudar tudo para os links daquele servidor.

Mas la terá de ser.

É um bocado chato, pois neste momento, este website ainda esta em testes, e logo, vou ter de usar um caminho para aqui, mas quando pretender colocar no servidor certo, la terei de mudar tudo para os links daquele servidor.

Mas la terá de ser.

Secalhar até posso usar de outra forma, onde se torna, mais facil, colocando $_SERVER['HTTP_HOST'];


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Rui Carlos

Existe a tag base, que te permite gerir este tipo de coisas.

Existem ainda outras soluções, como usar redirects, mas pessoalmente também acho que usar caminhos absolutos é mais seguro.

Share this post


Link to post
Share on other sites
HappyHippyHippo

a solução mais simples é usares links absolutos nesses elementos

tanta coisa para cair na primeira resposta do tópico ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.