Search code examples
.htaccessurlmod-rewritedirectoryurl-rewriting

rewrite url .htaccess GET-Parameter for directory routing


I would like to structure my url in the .htaccess as follows https://exmaple.com/index.php?lang=de-DE&path=/dir/subdir/ to https://example.com/de-DE/dir/subdir/ but keep ability to add additional GET-Parameter.

For the directory i tried this but didn't work out
RewriteEngine On
RewriteRule /(.+)$ /index.php?path=$1 [L,QSA]


Solution

  • Based on your shown samples, could you please try following. Please make sure you clear your cache before testing your URLs.

    RewriteEngine ON
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/([^/]*)/?$ index.php?lang=$1&path=$2 [L]
    

    OR as per OP's comment use QSA flag along with L flag to append previously passed query string to newly build one in above rules.