Ich habe den folgenden Code in meiner .htaccess
Datei, platziert in der Wurzel meinesUbuntu 22.04Beispiel:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]*)$ /profile.php?user=$1 [L]
Mein Ziel ist die Verwendung von:
example.com/profile/johndoe
um die folgende Ausgabe-URL zu erhalten:
example.com/profile.php?user=johndoe
aber es funktioniert nicht :(
mod_rewrite
ist eingeschaltet
Meines apache2.conf
sieht so aus:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ich weiß nicht, was ich falsch mache. Ich bin für jede Hilfe sehr dankbar.
Antwort1
Sie können versuchen, Ihre .htaccess
Datei in abzulegen /var/www/html/
. Ihr Problem hängt wahrscheinlich mit den Berechtigungen zusammen. Überprüfen Sie Ihre Anmeldungen /var/log/apache2/access.log
und /var/log/apache2/error.log
weitere Einzelheiten.
Erlauben Sie auch keinen Zugriff auf das Root-Dateisystem, das ist ein Sicherheitsproblem. Ändern Sie also
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Zu
<Directory />
Options FollowSymLinks
Require all denied
</Directory>