/ / url umschreiben und mit htaccess in Ordner umleiten - php, apache, .htaccess, mod-rewrite, url-rewriting

Url umschreiben und mit Ordner umleiten mit htaccess - php, Apache, .htaccess, mod-rewrite, url-rewriting

OK, ich bin neu in der Frage des Umschreibens und Umleitens von URLs. Ich habe in Google und Stackoverflow nach einer Antwort gesucht, die funktionieren würde und nichts scheint zu funktionieren !!

Was ich versuche zu erreichen, ist ... Nimm diesen Link: mysite.com/research/index.php?quote=goog

Dann konvertieren Sie es und leiten es zu diesem um: mysite.com/research/goog

Ist es wichtig, dass das "goog" am Ende der URL-Zeichenfolge von einem in der URL platzierten Formular abgerufen wird? Hier ist der Code, der verwendet wird, um das "goog" zu schnappen <?php echo $_POST["quote"];?>

Unten ist der einzige Code, den ich auf meinem Code habeHtaccess-Datei und es wird nicht funktionieren! Mache ich es falsch? Fehlt etwas in meinem Code? Ich habe meinen Code im Stammverzeichnis (mysite.com), sollte ich ihn im Ordner "research" (mysite) haben .com / Forschung /)

RewriteEngine On
RewriteRule ^quote/([^/]*)$ /research/index.php?quote=$1 [L]

Ist es möglich, dass mein Host / Server keine .htaccess-Dateien akzeptiert? Soll ich dies in einer web.config-Datei tun? Wenn ja, wie würde ich den obigen Code in eine funktionierende web.config-Datei konvertieren?

Antworten:

3 für die Antwort № 1

Dies sind die Regeln, die Sie in Ihrem brauchen werden /research/.htaccess Datei:

RewriteEngine On
RewriteBase /research/

RewriteCond %{THE_REQUEST} /index.php?quote=([^s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]

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

Greifen Sie auf es in Ihrem zu index.php mit:

$quote = $_GET["quote"];`

0 für die Antwort № 2

Dies sollte für Sie funktionieren:

RewriteEngine On
RewriteCond %{QUERY_STRING} "quote=([^&]+)"
RewriteRule ^/research/index.php /research/%1? [R,L]

Die Abfragezeichenfolge ist ein separater Teil vonAnfrage an die URL, so dass Sie dies explizit überprüfen müssen. Wenn Sie die RewriteCond verwenden, können Sie sagen, wenn der Parameter "quote" vorhanden ist, erfassen Sie den Wert des Parameters (indem Sie alle darauf folgenden Zeichen abrufen, die nicht "&" sind). Dies füllt die Variable% 1, die Sie beim Umschreiben selbst verwenden können.