2017-02-15 2 views
1
weitergeleitet

Ich habe diesen seltsamen Fall ... Ich habe eine Wordpress-Website, die in einem Ordner (Beispiel) in einer anderen Website installiert ist. Dies ist so, weil die Wordpress-Site zu einer geparkten Domain (example.net) gehört.Wordpress-Site in einem Unterverzeichnis nicht korrekt an Beiträge aufgrund. Htaccess im übergeordneten Ordner

Also! Im Ordner meiner Haupt-Website Ich habe diese .htaccess

## rules for error documents 
ErrorDocument 400 /400.php 
ErrorDocument 401 /401.php 
ErrorDocument 403 /403.php 
ErrorDocument 404 /404.php 
ErrorDocument 500 /500.php 

<IfModule mod_rewrite.c> 
RewriteEngine On 

## no trailing slash policy 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

## rewrite html pages if there is a present php equivalent 
RewriteRule ^(.*)\.html$ $1.php?%{QUERY_STRING} [L] 

## if 'examle' is required, take us to the example.net domain 
RewriteRule ^example - [L] 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.net$ [NC] 
RewriteRule ^(.*)$ example/$1 [L] 
</IfModule> 

Die .htaccess der Wordpress-Seite wird standardmäßig:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

ich erfolgreich die Homepage der Wordpress-Website öffnen kann, aber wenn ich auf einige ihrer Seiten/Beiträge zu gehen versuchen, sehe ich den Fehler

Die Seite ist nicht Umleiten richtig

Ich bin auf Apache 2.4

Antwort

0

Ich löste dieses Problem. Es stellte sich heraus (ich wusste nicht), dass keine abschließende Schrägstrich-Richtlinie Wordpress bricht. Es erfordert unbedingt, dass nachfolgende Schrägstriche beibehalten werden.

Die Lösung bestand darin, die "no-trailing-slash" -Richtlinie so zu schreiben, dass sie nicht ausgeführt wird, wenn Sie auf die Wordpress-Site zugreifen.

In meinem Fall änderte ich die Regel:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^(www\.)?example\.net$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 
</IfModule> 
Verwandte Themen