2016-07-14 16 views
2

ich den letzten Parameter/Verzeichnis unter den folgenden Adressen möchten: .htaccess zweite Parameter in das Verzeichnis neu schreiben

http://example.com/movies/randomMovie 
http://example.com/books/randomBook 

übergeben werden wie folgt

:

http://example.com/movies.php?=randomMovie 
http://example.com/books.php?=randomBook 

Ich habe versucht, die folgenden:

RewriteEngine on 
RewriteRule ^([^/d]+)/?$ movies.php?=$1 [QSA] 
RewriteRule ^([^/d]+)/?$ books.php?=$1 [QSA] 

Aber das überschreibt die Regel für (filme.php).

Wie erreiche ich dies in .htaccess?

Antwort

2

Die Regel ist nicht passend /movies/ und /books/, können Sie diese Regel verwenden:

RewriteEngine on 

RewriteRule ^movies/([^/]+)/?$ movies.php?=$1 [L,QSA,NC] 
RewriteRule ^books/([^/]+)/?$ books.php?=$1 [L,QSA,NC] 
+0

Dies scheint nicht zu funktionieren. Der Server/Client sucht im Verzeichnis/filme/nach randomMovie.php. Es löst den folgenden Fehler aus: "Not Found Die angeforderte URL /movies/randomMovie.php wurde nicht auf diesem Server gefunden." – Hwende

+0

Ich habe es in den übergeordneten Verzeichnissen platziert. Jetzt löst es stattdessen aus: "Die angeforderte URL/Filme/randomMovie wurde auf diesem Server nicht gefunden." – Hwende

+0

Anfangs befanden sie sich im übergeordneten Ordner. Aber ich habe versucht, sie zu den Unterverzeichnissen (/ movies/und/books /) hinzuzufügen und sie auch ohne Erfolg in index.php umzubenennen. – Hwende

1

Versuchen Sie, diese

RewriteEngine on 
RewriteRule ^movies/([a-zA-Z]+)/?$ movies.php?=$1 [L, QSA] 
RewriteRule ^books/([a-zA-Z]+)/?$ books.php?=$1 [L, QSA] 
+0

Dies löst den folgenden Fehler aus: "Interner Serverfehler Der Server hat einen internen Fehler oder eine Fehlkonfiguration festgestellt und konnte Ihre Anfrage nicht abschließen." – Hwende

+0

Wie Sie auf den Parameter zugreifen (randomMovie | randomBook), da $ 1 keinem Abfrageparameter zugewiesen ist. Ich habe diese Regel lokal überprüft, indem ich location = $ 1 zugewiesen habe und es funktioniert hat. Kann die location-Variable in films.php verwenden – Siva

+0

RewriteRule^filme/([a-zA-Z] +) /? $ Filme.php? Location = $ 1 [ L, QSA] – Siva

Verwandte Themen