Frage

Ich bin mit geteilt mit IIS7 und Unterstützung für PHP-Hosting. Ich versuche, ein Wordpress-Blog mit „pretty Urls“ (Entfernen index.php) zu laufen. Der Hosting-Provider will nicht die UrlRewrite Modul installieren, so dass Option für mich nicht verfügbar ist. Ich fand ein Plugin für Wordpress, die die index.php aus permalink URLs und Ändern der 404-Seite index.php den Trick tun soll entfernen wird ... das nicht funktioniert entweder.

Ich bin vertraut mit URL für eine ASP.NET-Website Umschreiben, aber ich bin nicht sicher, wie ich es für PHP gehen würde. Die Hosting-Setup scheint ASP.NET und PHP zur gleichen Zeit zu unterstützen, so dass ich dachte, es möglich wäre, die Rewrite-Code durch ASP.NET zu laufen, aber ich bin mir nicht sicher, wie es geht.

Hat jemand Erfahrung mit diesem oder irgendwelche Ideen über den besten Ansatz. Wenn etwas mich in die richtige Richtung führt, oder wenn ich es herausfinden mich, werde ich mehr als glücklich, den Code hier für jedermann zu teilen andere, was es braucht.

War es hilfreich?

Lösung 2

Vielen Dank für die Anregungen.

Meine Host-Installation beendet IIRF und es funktionierte wie ein Zauber. Es gibt eine Datei IsapiRewrite4.ini für die Rewrite-Regeln genannt. Um meine Wordpress zu bekommen installieren, ohne die index.php in der URL ausgeführt wird, alles, was ich tun musste, war hinzufügen:

RewriteRule ^/sitemap.xml$   - [L]
RewriteRule ^/(?!index.php)(?!wp-)(.*)$ /index.php/$1

Die erste Zeile ermöglicht Anfragen für eine sitemap.xml-Datei. Die zweite Zeile behandelt index.php aus der URL zu entfernen. Es scheint, als auch aus anwendungstechnischer Sicht in Ordnung zu sein, ich habe keine Probleme mit den Seiten reagieren langsam überhaupt gesehen.

Hoffentlich wird jemand anderem helfen, die ähnliche Funktionalität benötigt.

Andere Tipps

Ich bin mit der ManagedFusion URL Rewriter und benutzerdefinierte 404-Fehlerseite auf meinem Blog .

Die ManagedFusion URL Rewriter erfordert eine Datei namens ManagedFusion.Rewriter.rules, die imitiert .htaccess, ich hatte mit ihm zu spielen, um ziemlich viel, um es richtig, so werde ich schließen, was zur Zeit ich in mir haben:

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on

#
# Place Rules Below
#

# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]

# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]


# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]

# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

Die Regeln, die ziemlich Urls handhaben, das www entfernen, und mehrere alte URLs aus einem frühen Blog umgeleitet werden.

Ich habe auch eine Datei „404.php“, dass ich Setup als meine benutzerdefinierten 404-Fehlerseite habe. Dies gilt nicht für die hübschen Urls benötigt, aber können Sie die Wordpress-Seite 404 in benutzerdefinierten Designs verwenden. Hier ist der Inhalt:

<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

Ich hoffe, das hilft. Es ist für mich bisher sehr gut funktioniert.

-ROB

Update: Ich habe gerade gebucht einen Blog-Artikel auf meiner Erfahrung mit Wordpress auf IIS7

Ändern der 404-Seite index.php soll den Trick tun. Wenn dies nicht der Fall, kann das Plugin nicht IIS unterstützen.

Es gibt eine xml " web.config " Datei in IIS das tut, was .htaccess in Apache HTTPD tut. (D Aufschalten Web-Server-Einstellung durch statische Konfigurationsdatei). Es ist weit verbreitet in ASP.NET-Anwendung verwendet wird.

Bitte lesen Sie Aktivieren Sie benutzerdefinierte Fehler in Wordpress auf IIS 7.0 Wenn auch dies nicht funktioniert, können Sie versuchen, Ihre Service-Provider zu bitten, es für Sie eingestellt. Sie können diese Einstellung so konfigurieren, über IIS Management Console GUI.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top