Bonita configuração do lado do servidor URL?

2

Eu transferi um site para nosso novo VPS. Funcionou bem no servidor antigo. Acho que sei o que está causando o problema, mas não sei onde corrigi-lo.

Eu li muitos posts sobre URLs bonitas e parece que a maioria deles está usando uma solução mod_rewrite. Olhando para o meu arquivo .htaccess , ele não é configurado dessa maneira. Pode nem mesmo ser Pretty URL e chamar outra coisa completamente.

Nosso VPS está executando o WHM / Cpanel

Versão do servidor:

Apache/2.4.25 (cPanel) OpenSSL/1.0.1e-fips mod_bwlimited/1.4

Apache 2.4, PHP 5.5, PHP 5.6, and PHP 7.0

CENTOS 7.3 x86_64 virtuozzo – server WHM 62.0 (build 16)

Encontrei um problema com os URLs e .htaccess .

Aqui está o conteúdo do arquivo .htaccess atual:

Options -All SymLinksIfOwnerMatch MultiViews
#AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index

Quando vou ao site, obtenho:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.*

Quando eu removo tudo no arquivo .htaccess , o site aparece, mas quando clico em um link ele diz que não foi encontrado. (No código, ele não usa a extensão .php para não encontrar a página.)

A maneira como funciona no servidor antigo é a extensão .php não usada. Então, em vez de http://www.example.com/make01.php , é apenas http://www.example.com/make01 .

Então, acho que há algo que preciso adicionar à configuração para que funcione da mesma maneira que funcionava no antigo VPS. Eu tenho acesso a ambos os VPS e olhei para os arquivos PHP.ini , mas não tenho certeza do que estou procurando.

Se você pudesse me apontar na direção certa, isso seria incrível.

Por favor, deixe-me saber se você precisar de mais alguma informação. Esta é a minha primeira vez postando. Grande comunidade pelo caminho!

    
por William 21.03.2017 / 23:06

1 resposta

0
Options -All SymLinksIfOwnerMatch MultiViews

Remova o parâmetro -All :

Options SymLinksIfOwnerMatch MultiViews

Como observado nos documentos do Apache para o Apache 2.4 :

Mixing Options with a + or - with those without is not valid syntax and will be rejected during server startup by the syntax check with an abort.

O que parece ser o que está acontecendo aqui. O parâmetro -All é desnecessário, pois você define explicitamente apenas SymLinksIfOwnerMatch e MultiViews . No Apache 2.2 (o servidor antigo eu suponho) isso simplesmente resultaria em "resultados inesperados" e nenhum erro.

So I think there is something I have to add to the configuration to make it work the same way it worked on the old VPS.

Parece que você está aproveitando MultiViews , então você deve estar pronto para ir. Com MultiViews ativado (parte de mod_negotiation), uma solicitação para http://www.example.com/make01 resultará no servidor procurando por um arquivo apropriado que corresponda ao basename solicitado e ao mime requerido digite e sirva isso para o cliente. por exemplo. /make01 resulta em /make01.php sendo veiculado.

Note que se você mais tarde decidiu usar o mod_rewrite para fazer essa reescrita de URL, provavelmente precisará desabilitar MultiViews , pois pode entrar em conflito (uma causa comum de erro).

It may not even be Pretty URL's at all and called something else entirely.

Independentemente de como é implementado, ainda é uma forma de "URLs bonitas". É apenas tornar os URLs mais amigáveis (ou "bonitos") para o usuário.

    
por 21.03.2017 / 23:53