4

Ich verwende eine .htccess-Datei, um meine URLs neu zu schreiben. Ich verwende die folgenden Regeln in meinen .htaccess-Dateien.Problem beim URL-Rewrite (Relative Pfade funktionieren nicht)

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^product/([0-9]+)/([A-Za-z0-9+]+)$ /product.php?productid=$1&prodname=$2 

Die Neuschreibung funktionierte gut.

Aber wenn ich versuche, auf jede andere Seite durch relativen Pfad zuzugreifen, der in allen Fällen ist, wird die URL nicht richtig umgeleitet.

Wie im Beispiel unten

<form action "something.php" method="post"> 
    <input type="text" name="1" /> 
    <input type="submit" value="submit" /> 
</form> 

Wenn ich auf einreichen, die Seite, die http://mydomain/product/1/something/something.php geladen wird, die nicht und daher existiert wirft einen Fehler 404

ich mit dem Basis-Tag versucht, in der Kopf, aber das schafft ein Problem, während ich Seitenanker und modale Fenster benutze. Es wird auf die Indexseite umgeleitet.

Bitte lassen Sie mich wissen, wenn weitere Details erforderlich sind.

Ich bin ziemlich neu dazu. Könnte mir bitte jemand helfen?

Vielen Dank im Voraus, Kartik

+0

Ist es wirklich die ganze .htaccess Datei? Wenn Sie Zugriff auf die Haupt-Apache-Konfiguration haben, können Sie die Mod_rewrite-Protokollierung aktivieren, die das Debuggen solcher Probleme erleichtert. –

+0

Ja. Ich habe gerade für einen .. – gnanesh

Antwort

3

Dies ist ein URL Lösung Problem. Einzelheiten finden Sie unter mod_rewrite URL info required.

Sie entweder absolute URL-Pfade oder absolute URLs verwenden:

<form action="/something.php" method="post"> 
<form action="http://example.com/something.php" method="post"> 

Oder Sie die Basis-URL ändern (siehe BASE HTML element), so dass jede relative URL von dieser URL aufgelöst wird und nicht die aktuelle URL:

0

Die kurze und einfache Version, um dies zu lösen ist, Ihre URLs - /something.php in der Form Aktion, nicht nur 'something.php' absolut-Pfad.