2017-06-03 2 views
0

Ich möchte URL Rewrite mit meinem .htaccess verwenden, um meine nicht recht URL zu umleiten:Transfert eine URL mit Parametern in einem hübschen URL mit .htaccess

http://example.com/_new/url.php?module=planning&action=see&id=2

auf diese: So

http://example.com/_new/url/planning/see/2

Ich benutzte:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ url.php?module=$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)$ url.php?module=$1&action=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ url.php?module=$1&action=$2&id=$3 [L] 

Aber es funktioniert nicht.

Irgendwelche Hilfe bitte?

Danke.

Antwort

0

Für diese spezielle URL-Rewrite, könnten Sie Ihre ersetzen müssen [RewriteRule], um diese so etwas wie:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^_new/url/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ _new/url.php?module=$1&action=$2&id=$3 [NC,L]

aus denen Sie Zugriff auf: http://example.com/_new/url.php?module=planning&action=see&id=2

http://example.com/_new/url/ {module_name} = http://example.com/_new/url.php?module= {module_name}

Das gleiche gilt für 2 $ Auch 3 Dollar.

[NC] = Groß- und Kleinschreibung: Dieses Flag teilt Apache, dass es sein wird, [kein Fall]

[L] = Wenn diese Regel bereits mit, keine zusätzlichen Regeln im aktuellen hinzugefügt werden beginnen verarbeitet uRL-Rewriting Prozess

Sie mehr über hier lernen können: https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

Hoffnung, das hilft.

+0

Hallo, ich habe diesen Fehler: 'Die angeforderte URL /_new/url/planning/see/2.php wurde auf diesem Server nicht gefunden. ' –

+0

Haben Sie Ihr Problem jetzt gelöst? – eeya