2016-03-26 7 views
0

ich diesen Code, um herauszufinden versuchen, warum es nicht.htaccess-Redirect funktioniert nicht aus irgendeinem Grunde

alt url

news.php?catID=text-from-database&nid=number-from-database 

neue URL

news-detail.php?cid=Cat-ID-Number&nid=number-from-database 

oder neue URL

arbeitet
domain.com/number-from-database 

Ich möchte permanent unter Verwendung des folgenden Codes umzuleiten. Aber es funktioniert nicht.

Redirect 301 ^news.php?catID=([A-Za-z0-9-]+)&nid=([0-9]+) news-detail.php?cid=$1&nid=$2 
Redirect 301 ^news.php?catID=([A-Za-z0-9-]+)&nid=([0-9]+) /$1 

Antwort

1

Sie können die Abfragezeichenfolge in einer REDIRECT-Direktive nicht abgleichen. Sie müssen gegen die %{QUERY_STRING} oder %{THE_REQUEST} Variable übereinstimmen mit Mod-Rewrite:

Versuchen:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^catID=([A-Za-z0-9-]+)&nid=([0-9]+)$ [NC] 
RewriteRule^/news-detail.php?cid=%1&nid=%2 [L,R] 

oder:

RewriteEngine on 
RewriteCond %{THE_REQUEST} /news\.php\?catID=([A-Za-z0-9-]+)&nid=([0-9]+) [NC] 
RewriteRule^/news-detail.php?cid=%2 [L,R] 
Verwandte Themen