2016-07-11 11 views
1

Bitte kann jemand erklären, was hier passiert? Diese .htaccess leitet korrekt auf dieser Seite im Root-Verzeichnis, aber alle Links auf der Seite nun auch ein (nicht vorhanden) Unterverzeichnis „test“ (obwohl die HTML-Quelle nicht den Fall ist)mod_rewrite ändert Links in PHP Antwort

RewriteEngine on 
RewriteBase/
RewriteRule ^test/([0-9]+)/?$ /view_player.php?player=$1 

ps Das gleiche passierte, bevor ich "RewriteBase /" und "/" vor das Ziel "view_player.php" setzte. Sie wurden in meinen Versuch einbezogen, herauszufinden, was passiert.

Was muss ich tun, um dies zu verhindern?

+0

Related http://stackoverflow.com/questions/31241701/seo-friendly-url-css-img-js-not-working – starkeen

+0

Danke, Starkeen, diese Frage hatte die Antwort zu setzen in der Seitenköpfe welche solv ed es für mich. – Eddie901

Antwort

1

In Ihrem RewriteRule werden Sie sehen, es gibt einen Abschnitt, der ^test/ sagt. Dies wird als prefix bezeichnet und Sie können dies verwenden, um Ihre URL zu ändern und somit die Form der umgeschriebenen URL zu verbessern und deren Relevanz zu erhöhen.

So zum Beispiel, wenn ich eine URL hatte, die gelesen:

www.exmaple.com/common-errors/an-error

ich könnte, was zählen ein prefix Fehler genannt, und daher ist es zu umschreiben:

www.example.com/errors/common-errors/an-error

+0

Ich verstehe deine Antwort nicht. Das Präfix stimmt mit dem Muster mysite.com/test/600 überein, was ich will, aber es erscheint nicht im Ersatz, – Eddie901