2009-05-18 4 views
6

Grüße,301-Weiterleitung index.html/oder /index.php

Ich habe gerade bewegt, eine Website von IIS Apache und bin mit einer wenig Mühe, ohne dass die Index-Datei umleitet eine Endlosschleife verursacht.

Beide einzeln eine schlaufen verursachen

Redirect 301 /index.htm /index.php

Redirect 301 /index.htm http://www.foo.com/

Unten finden Sie eine Kopie meines aktuell ist. htaccess. Kann mir jemand helfen? Ich habe eine Reihe von Links zu http://www.foo.com/index.htm hingewiesen, dass Ich mag würde 301 bis zu http://www.foo.com/

RewriteEngine On 

########## Begin - Rewrite rules to block out some common exploits 
## If you experience problems on your site block out the operations listed below 
## This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
# Block out any script trying to set a mosConfig value through the URL 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 
# Block out any script trying to base64_encode crap to send via URL 
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] 
# Block out any script that includes a <script> tag in URL 
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Send all blocked request to homepage with 403 Forbidden error! 
RewriteRule ^(.*)$ index.php [F,L] 
# 
########## End - Rewrite rules to block out some common exploits 

# Uncomment following line if your webserver's URL 
# is not directly related to physical file paths. 
# Update Your Joomla! Directory (just/for root) 

# RewriteBase/

########## Begin - Joomla! core SEF Section 
# 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|\.cfm|/[^.]*)$ [NC] 
RewriteRule (.*) index.php 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
# 
########## End - Joomla! core SEF Section 

Redirect 301 /a /administrator 
+0

+1 zum Bewegen von IIS Apache entfernt – eleven81

+0

@ eleven81 - Nizza. –

Antwort

6

Warum machst du das? Warum nicht index.php zu Ihrem vhost/config als gültige Indexerweiterung

DirectoryIndex index.html index.php 

hinzufügen und dann die HTML-Datei löschen>

oder

DirectoryIndex index.php 
0

ich mit Kender Kommentar über die Umleitung einverstanden Schleife. Möglicherweise ist die Art und Weise runden das ist

DirectoryIndex- notindex.html

zusammen mit Umleitungen zu haben, dann legen Sie die aktuelle Titelseite in notindex.html. Ich bin nicht klar, was ist los mit Leuten, die /index.html verwenden, wenn diese Seite wirklich existiert?

+0

Wenn sowohl http://www.example.com/ als auch http://www.example.com/index.html auf die gleiche Seite gehen, wird von Google als "duplizierter Inhalt" bezeichnet und es kann ein SEO-Problem verursachen. Und neben möglichen Bezugsproblemen finde ich es hässlich. Eine URL, eine Seite. – bortzmeyer

0

Ich bin nicht hinzufügen Hyperlinks erlaubt noch, wie ich bin ein neuer Benutzer, so dass, wenn ich „foo“ eingegeben haben einfach davon ausgehen, das ist die gesamte URL ...

Um foo/Index zu umleiten. PHP foo/ohne die Schleife, verwenden Sie eine andere Rewrite-Regel:

RewriteRule index.php foo/ [R=301] 

möglicherweise müssen /index.php verwenden, je nachdem, was Ihre RewriteBase gesetzt wie (und wie viele Verzeichnisse Sie eine index.php haben in) .

1

Sie benötigen würde den Wert von REQUEST_URI wie folgt zu überprüfen:

RewriteCond %{REQUEST_URI} ^/index.htm$  # If REQUEST_URI == "/index.htm" 
RewriteRule (.*)/[R=301,L]    # Then 301 redirect to "/"