htaccess-Umschreibregel für eine bestimmte PHP-Seite funktioniert nicht

htaccess-Umschreibregel für eine bestimmte PHP-Seite funktioniert nicht

Ich habe den folgenden Code in meiner .htaccessDatei, 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_rewriteist eingeschaltet

Meines apache2.confsieht 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 .htaccessDatei in abzulegen /var/www/html/. Ihr Problem hängt wahrscheinlich mit den Berechtigungen zusammen. Überprüfen Sie Ihre Anmeldungen /var/log/apache2/access.logund /var/log/apache2/error.logweitere 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>

verwandte Informationen