Como posso remover a barra final com .htaccess no host local com o UniServer [duplicado]

1

Desejo remover a última barra final de um URL. Por exemplo: eu quero http://localhost/mysite/page/ reescrever para http://localhost/mysite/page .

Estou usando este código no meu .htaccess localhost.

Options +FollowSymLinks
RewriteEngine   on
RewriteRule ^([a-zA-Z0-9_-]+)/$ $1 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)$ web.php?page=$1

Se eu escrever no meu navegador http://localhost/mysite/index , ele mostrará o que eu quero. Mas se eu escrever http://localhost/mysite/index/ me diz "não encontrado" e "o URL solicitado não foi encontrado neste servidor". Estou usando o UniServer no Windows 8.

    
por Nach 09.03.2013 / 21:43

2 respostas

1

Tente isso:

# Remove trailing slash if not an existing directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

# Rewrite to use web.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web.php?page=$1 [L]

Talvez não seja necessário alterar a segunda regra se ela já estiver funcionando bem.

    
por 10.03.2013 / 03:20
0

Trabalhou adicionando essa linha

RewriteRule ^(.*)/$ /mysite/$1 [R,L]
    
por 11.03.2013 / 00:24