Pracuję nad budowaniem wtyczki WordPress dla niestandardowej sieci wielopokładowej WordPress i mam kilka plików, które używają zmiennych URL do ładowania informacji z drugiej bazy danych (nie z bazy danych WordPress)..htaccess przepisać z wtyczką WordPress
W wersji zbudowanej poza WordPress, przechodząc do http://website.com/NAME-HERE
, sprawdzi, czy jest to nazwa użytkownika w mojej bazie danych, jeśli nie, sprawdź, czy jest to grupa w mojej bazie danych i załaduj plik, który odpowiada, jeśli jest nazwa użytkownika lub grupa.
Teraz całkowicie zatracam się przy wdrażaniu tego w WordPress Multisite. O ile wiem, wtyczki nie mogą dokonać przepisywania .htaccess
? Jak sprawić, by działał na wszystkich stronach sieciowych?
Jeśli nie, to w jaki sposób najlepiej to osiągnąć?
Czy muszę zamienić mój pretty.php
& .htaccess
przepisywanie na mój katalog główny i wskazać strony do plików znajdujących się w wtyczce? Jeśli tak, to jak działa to z wieloma tematami?
Moja jedyna inna myśl, jak na razie, może być osiągnięta z czymś takim jak RewriteMap
.
W tym momencie pomyślałem, że najlepiej jest skontaktować się ze społecznością StackOverflow w celu uzyskania pomocy lub wskazówek.
.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(\w.+)$ ./pretty.php?pretty=$1 [QSA]
ErrorDocument 404 /404.php
pretty.php
// First check if passed pretty parameter is a username.
if(checkIfUserByUsername($_GET['pretty']))
{
$_GET['username'] = $_GET['pretty'];
include("USERNAME.php");
// If not a username, check to see if it's an event.
}else if(checkIfStreamByPretty($_GET['pretty'])){
$_GET['id'] = getStreamIdFromPretty($_GET['pretty']);
include("GROUP.php");
}else{
// If it's none, redirect to the 404 page.
include("404.php");
}
Chcę zapewnić większą kontekście tego, co szukam osiągnąć, tworzę stronę szablonu plików z których jeden jest dla profili, z których jeden jest dla grup, tak jak widzieliście powyżej moich .htaccess i pretty.php Jestem wtedy na górze pliku szablonu strony, a następnie używając
$user_id = getIdFromUsername($_GET['username']);
$_GET['user_id'] = $user_id;
Naprawdę mam problem z ustaleniem, jak to zrobić w sposób, który pozwala mu pracować z wieloma tematami. Po prostu szukam jakiegokolwiek rozwiązania w tym momencie.
Nie jest jasne, co chcesz osiągnąć jako pożądany rezultat. Podziel swoje pytanie na bardziej zwięzłe pytanie o to, co naprawdę chcesz, w przeciwieństwie do napotkanych zmagań. Jeśli chodzi o edycje pliku '.htaccess', możesz wypróbować inne wtyczki, które wprowadzają zmiany w pliku' .htaccess', na przykład 'All In One WP Security & Firewall'. – fyrye
jeśli przejdę do example.com/Dustin, sprawdza, czy jest to nazwa użytkownika lub grupa i wyświetla plik szablonu strony, dla którego jest. –
, ale musi również działać dla utworzonych multisites więc example.com/SITE/Dustin –