Ich kann meine URLs nicht in SEO-freundliche umgeschrieben bekommen. Ich habe eine Menge Schnipsel von hier und anderen Orten ausprobiert, aber keiner von ihnen scheint zu funktionieren - ich bin mir nicht sicher warum!htaccess 'Pretty URLs' funktioniert nicht
Die Rewrite-Engine ist definitiv funktioniert und aktiviert, wie ich es für Domain-und IP-canocalisation verwende. Es funktioniert einfach nicht mit URL-Umschreiben.
Ich möchte die URLs lesen; xxx.com/profile/Name anstelle von xxx.com/profile.php?user=Name.
Der Code, den ich gerade versuche, ist;
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]+)$ /profile.php?user=$1 [L]
Mein vollen .htaccess-Code ist;
ErrorDocument 404 http://localhost/CE/?404=1&page=1
<IfModule mod_headers.c>
# Set XSS Protection header
Header set X-XSS-Protection "1; mode=block"
</IfModule>
# allow all except those indicated here
<Files *>
order allow,deny
allow from all
deny from 188.143.232.32
deny from 188.143.232.27
deny from 188.143.234.155
deny from 188.143.*.*
</Files>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]+)$ /profile.php?user=$1 [L]
# Canocial IP
RewriteCond %{HTTP_HOST} ^217\.160\.0\.148 [nc,or]
# Canocial URL
RewriteCond %{HTTP_HOST} ^www\.xxx\.com$
RewriteRule ^/?$ "http\:\/\/xxx\.com\/" [R=301,L]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* ? [F,L]
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access plus 3 days"
ExpiresByType image/jpeg "access plus 3 days"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
</IfModule>
Ich habe Probleme mit diesem Zeug, bevor sie auf einem anderen Projekt hatte und nie wirklich gelöst, so dass es gut sein würde, eine Lösung zu finden, die funktioniert.
Hinweis: Ich habe viele andere "Lösungen" auf Stack Overflow überprüft - keiner, den ich versucht habe, hat funktioniert.
Werke - danke! Aber jetzt verursacht ein Problem mit einer Galerie, die die Benutzervariable übernimmt und sie in einer SQL-Abfrage verwendet, um Bilder abzurufen. Ich habe Code, der einen Platzhalter anzeigt, wenn kein Bild verfügbar ist oder nicht abgerufen werden kann. Sie sind jetzt nur gebrochene Bilder, die blinken. – Ben
Erhalten Sie die Benutzervariable in der Datei profile.php Wenn Sie dann ein anderes Problem haben, versuchen Sie bitte 'in Ihrer Seite. –
Ich habe gerade in der Produktion getestet und es funktioniert so weit wie das Umschreiben der URL geht, aber alle Informationen aus der Datenbank nicht angezeigt werden - es zeigt nur eine leere, unbestückte Vorlage. Ich habe bereits die Basis href konfiguriert. Die Variable wird in der Datei profile.php verwendet. – Ben