Vraag Hoe mod_rewrite in Apache in te schakelen?


Ik heb zojuist de LAMP-stack op mijn Ubuntu-systeem geïnstalleerd.

De omleiding werkt niet voor mij. Ik weet niet hoe ik het moet repareren. Kan iemand mij helpen?


158
2018-06-12 13:45


oorsprong


IMHO deze vraag is niet specifiek voor Ubuntu en moet worden gemigreerd Serverfout. - Paolo
De OP geïnstalleerd Lamp op UBUNTU. Hoeveel meer Ubuntu-specifiek wil je? - wojox
@wojov: ik weet niets van deze zaak, maar dat argument werkt niet. "Hoe kan ik deze applicatie gebruiken (op Ubuntu)?" zijn meestal off-topic.
Dit is geen "Hoe kan ik toepassing gebruiken", maar een "hoe een specifieke functie in Ubuntu in te schakelen". Apache onder Ubuntu gebruikt een andere configuratie-indeling waarin elke module en virtuele host een bestand is /etc/apache2 en die kunnen worden ingeschakeld met a2* programma's. - Lekensteyn
Je moet beschrijven wat je hebt gedaan om het probleem te beperken - ericn


antwoorden:


Als u de herschrijfmodule wilt inschakelen, voert u "apache2 enable module rewrite" uit:

sudo a2enmod rewrite

U moet de webserver opnieuw opstarten om de wijzigingen toe te passen:

sudo service apache2 restart

Als u van plan bent om mod_rewrite in te gebruiken .htaccess bestanden, moet u ook het gebruik van inschakelen .htaccess bestanden door te veranderen AllowOverride None naar AllowOverride FileInfo. Voor de standaardwebsite, bewerken /etc/apache2/sites-available/default:

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Na een dergelijke wijziging moet u Apache opnieuw opstarten.


231
2018-06-12 13:49



Ik had meer succes met AllowOverride All - Valentin Despa
Bedankt! sudo a2enmod rewrite en FileInfo repareerde het voor mij! - d-_-b
Voor mij was dat bestand /etc/apache2/apache2.conf waar ik dat configuratie-item vond - rahmanisback
Ja, zorg dat de twee wijzigingen het probleem hebben opgelost. - Adelin
Het werkt niet voor mij. Ik heb hier een vraag geplaatst askubuntu.com/questions/809619/failing-to-rewrite-url - Suhail Gupta


Ik durf een speciaal antwoord toe te voegen (als een vervolg op het geweldige antwoord hierboven) met betrekking tot ubuntu 14.04 en .htaccess :

In 14.04 wordt de naam van het standaardconfiguratiebestand gewijzigd in 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

voeg het volgende toe aan het einde van het bestand:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Om een ​​bepaalde reden is in Ubuntu 14.04 en apache2 de root ingesteld op /www/html. Als je de root van de webserver wilt veranderen in good old /www, open 000-default.conf en veranderen

DocumentRoot /var/www/html/

naar

DocumentRoot /var/www/

en dan zou het natuurlijk moeten zijn

<Directory "/var/www">
    AllowOverride All
</Directory>

49
2017-10-17 13:00



Dat is een belangrijk detail +1 - Koba
Thanx voor info! Deze / nieuwe manier waarop we www kunnen gebruiken als map waarin we alle websites plaatsen, en html is standaard "website" voor localhost. Kan belangrijk zijn als je speelt met het openen van poorten naar de wereld - zodat je lokale host geen mappen van andere projecten kan zien. - Vladimir Vukanac
Het werkt niet voor mij. ik gebruik Ubuntu 14.04.4 LTS - Suhail Gupta