2016-08-04 22 views
0

Ich lösche die URL für meine mvc-Anwendung. Zum Beispiel löscht htaccess die gesamte URL und erlaubt nur "get" url = {some_string}. Dann benutze ich dieses some_string für meine mvc-Anwendung. Es ist so einfach und schnell. Aber das Problem ist, ich habe ein Formular auf meiner Website. Wenn ich etwas schreibe und absende, fügt es "url = {write_text}" zu meiner URL hinzu. meine Form ist wie folgt:htaccess löscht die URL nicht richtig

<form action="/" method="get"> 
<input type="text name="url"> 
<input type="submit> 
</form> 

Normalerweise ich zum Beispiel auf den Link "{domain_name}/messages" eingeben, der zur Behandlung von "Botschaften" wie url = Nachrichten. Es gibt kein Problem. Aber wenn ich zum Beispiel "Nachrichten" schreibe und das Formular absende, ändert sich die URL in "{domain_name} /? Url = messages".

Ich möchte nicht, dass dies geschieht. Es sollte "{domain_name}/messages" lauten.

Meine .htaccess-Datei:

Options -MultiViews 

RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?url=$1 [QSA,NC,L] 

AddType application/x-httpd-php .asp .py .pl 

Antwort

0

Sie, dass diese Art und Weise nicht. GET ist ein HTTP-Verb, das Abfrageparameter zur Kommunikation verwendet. Wenn Sie ein Formular absenden, werden alle Parameter an den Wert des Aktionsformulars angehängt.

Ihr .htaccess wird verwendet, wenn Sie eine Abfrage erhalten, nicht wenn Sie sie senden.

Wenn Sie dies wirklich tun möchten, müssen Sie die AJAX-Abfrage verwenden, um zu verhindern, dass das Formular gesendet wird und die Abfrage wie gewünscht neu erstellt wird.