Não é possível obter mod_rewrite para reescrever URL's

1

Estou tendo um problema com o Apache não querendo ler minhas diretivas de reescrita e realmente reescrever minhas URLs com base nessas diretivas. Eu tenho as condições e regras escritas diretamente no meu arquivo Apache httpd.conf :

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteCond %{REQUEST_URI} Round_2
  RewriteRule ^Round_2/(.*)$ /newBuyer/desktop/$1 [R=301,L]

  RewriteCond %{REQUEST_URI} itemList
  RewriteRule ^/?(.*)/itemList/(.*)$ /newBuyer/$1/search/$2 [R=301,L]

  RewriteCond %{REQUEST_URI} eventDetail
  RewriteRule ^/?(.*)/eventDetail/(.*)$ /newBuyer/$1/event/$2 [R=301,L]

</IfModule>

Eu recarreguei o apache usando:

$ apachectl -k graceful

cache do navegador esvaziado e o redirecionamento não está funcionando. Eu sou capaz de fazê-lo funcionar na minha instância local do Windows Apache, mas não na minha instância do Apache Cent7.

Confirmei que o mod de reescrita está carregado.

    
por Alex Lorsung 19.09.2017 / 21:07

1 resposta

1

Depois de adicionar as tags do Directory após o IfModule entre as condições e as regras, consegui que a reescrita do URL funcionasse. Aqui está o resultado final do trabalho:

<IfModule mod_rewrite.c>
        <Directory "/directory/to/designers/files/">
        RewriteEngine On

        RewriteCond %{REQUEST_URI} Round_2
        RewriteRule ^Round_2/(.*)$ /newBuyer/desktop/$1 [R=301,L]

        RewriteCond %{REQUEST_URI} itemList
        RewriteRule ^/?(.*)/itemList/(.*)$ /newBuyer/$1/search/$2 [R=301,L]

        RewriteCond %{REQUEST_URI} eventDetail
        RewriteRule ^/?(.*)/eventDetail/(.*)$ /newBuyer/$1/event/$2 [R=301,L]
        </Directory>
</IfModule>

Obrigado

    
por 19.09.2017 / 21:59