2009-04-09 3 views
0

hi lass mich das kurz erklären..htaccess for rewrite url

Ich habe eine URL - "http://Domain.com/FolderName/Default.aspx?EditID=6" mit Abfragezeichenfolge.

Ich brauche unter

"http://Domain.com/FolderName/Name" 

diese URL wie zeigen ... das heißt, ich "Default.aspx?EditID=6" Teil von URL entfernen möchten, und es mit einigen Namen ersetzen möchten ...

Können Sie helfen mich.

vielen Dank ....

+0

Sie die Frage mit .htaccess markiert haben, die eine Datei ist, die jedoch auf Apache-Servern gilt nur Ihr Beispiel verwendet eine aspx-Datei (asp.net), die normalerweise nur auf IIS läuft (für asp.net müssen Sie eine web.config und nicht die .htaccess-Datei verwenden). Können Sie klären, verwenden Sie ASP.net unter IIS oder eine andere Sprache auf Apache? – John

Antwort

0

Sie in diesem Artikel here.

Auf einen Blick, sollte diese Arbeit (aber ich habe es tatsächlich nicht getestet):

# Turn on the rewriting engine 
RewriteEngine On 
# Change requests that match "FolderName/Name/" to "FolderName/Default.aspx?EditID=6" 
RewriteRule ^FolderName/Name/?$ FolderName/Default.aspx?EditID=6 [NC] 

Steve

+0

Hallo Danke für Ihre Hilfe ... aber denken Sie daran, dass Sie die Basis-URL in Ihrem Code schreiben müssen, um mit der Rewrite-Regel zu arbeiten .... –

0

Sie mod_rewrite Unter der Annahme aktiviert haben:

RewriteEngine On 

#prevent an infinite rewrite loop 
RewriteRule ^Community/Default\.aspx - [L] 

#rewrite the names 
RewriteRule ^Community/([^/]+) /Community/Default.aspx?N=$1 [L,NC,QSA] 

In Ihrem/Community/Default.aspx müssen Sie EditName in EditID auflösen - z schau es dir in einer Tabelle an, die du definierst.

Bearbeiten: Leider weiß das Umschreibmodul nicht, welcher Name welcher ID zugeordnet wird (es sei denn, Sie erstellen für jede ID eine eigene Regel, die überhaupt nicht skaliert wird). Das Rewrite-Modul übergibt den Namen N an Ihre Default.aspx, und es ist Aufgabe des Skripts, herauszufinden, welche ID gemeint ist.

+0

Ich schätze Ihre Arbeit, aber in meinem Fall funktioniert es immer noch nicht ... Die tatsächliche URL ist http://domain.com/Community/Default.aspx?EditID=6&N=ABCD Ich möchte es als http://domain.com/Community/ABCD –

0

Dies ist, was ich nutzen, um zur Zeit sowie die Möglichkeit bestimmte Domänen durch bestimmte Dateien für hotlinking zu umleiten:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /index.php [NC,L] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com/.*$ [NC] 
RewriteRule \.(gif|jpg|png|zip|js|css)$ - [F]