Ich habe dieses spezifische Problem, wo ich URL überprüfen muss, wenn sein Teil ist 8 Zeichen lang Hash-Code, der in meiner Datenbank oder seine nur normale URL gespeichert ist, wo Sie navigieren möchten.htaccess Anruf php Skript, dann weiter Verarbeitung
Zum Beispiel, wenn ich schreibe url:
- www.example.com/A4s8Gga3
i want to process it with my script in php file
Und wenn ich url schreiben:
-www.example.com/my-books
-www.example.com/about
i want to navigate on those pages.
Ich weiß, ich habe .htaccess zu verwenden (so viel konnte ich mich) und so weit es aussieht wie folgt aus:
#part1
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} (\/\w+)$ [NC]
RewriteRule ^(.*)$ mobile_redirect.php [L]
#part2
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
Meine mobile_redirect.php wie folgt aussieht:
Ich weiß, dass es am Ende in Schleife umleiten wird. Ich habe versucht, part1 nach part2 und habe immer noch das gleiche Problem. Ich bin mit joomla und es viele Urls haben (die nicht in der Lage im, aufzuschreiben), die nicht real Verzeichnisse oder Dateien sind deshalb habe ich nur in meinem PHP-Datei mit dieser Lösung kann nicht:
ob_start();
require_once('connect.php');
$request = $_SERVER['REQUEST_URI'];
$request_hotovy = str_replace('/', '', $request);
$request_hotovy = mysql_real_escape_string($request_hotovy);
$select = "SELECT HASH_ID,OFFER FROM kasko_send_form WHERE MOBILE_HASH_ID = '".$request_hotovy."'";
$query = mysql_query($select);
if(mysql_num_rows($query) > 0){
// request is mobile hash id
$result = mysql_fetch_array($query);
$hash_id = $result['HASH_ID'];
header("Location: some_link?def=".$hash_id);
} else {
// request is normal url
header("Location: page_not_found.php");
}
Da es klar ist mehr URL-Verarbeitung in Joomla getan, nachdem es endet lesen meine HTAccess (ich weiß nicht viel über Joomla entweder).
Können Sie mir einen Tipp geben, wie man die URL verarbeitet (dann vielleicht ändern, so dass es nicht in Schleife enden wird und dann wieder nach dem part1 wieder normal ändert, damit es normal weiterarbeiten kann)?
Auch wenn euch irgendwelche gute Tutorials, wo ich solche Dinge könnte, wäre es wirklich hilfreich sein, weil ich nur Grundlagen der regex verstehen und wie htaccess funktioniert ...
Da dies ein wenig off topic ist schreibe ich einen zusätzlichen Befehl: Der richtige Weg hier IMHO wäre ein Joomla Plugin zu schreiben. Dann müssen Sie sich nicht mit der Umleitung befassen, wenn Sie keinen DB-Datensatz finden. – Webdesigner