2017-03-24 7 views
1

Hier ist meine .htaccess ist so weit:.htaccess zu entfernen nachlauf/es sei denn Verzeichnis

RewriteEngine On 
RewriteBase/
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ 
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ 
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$ 
RewriteRule ^(.*)$ https://example.com/$1 [R,L] 

RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L] 

Options +FollowSymLinks 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^.*$ ./index.php 

## REMOVE TRAILING/
#if its not a directory 
RewriteCond %{REQUEST_FILENAME} !-d 
#and it has a trailing slash then redirect to URL without slash 
RewriteRule ^(.+)/$ /$1 [L,R=301] 

ich die Struktur wie dieses:

https://example.com/page-name 

die zu index.php als String-Abfrage gibt, in dieser es wäre $_SERVER['REQUEST_URI'] = 'page-name'

Für SEO und kanonische Gründe möchte ich die nachfolgende/mit einem 301 Redirect wie folgt umleiten:

Wenn sie eintippen:

https://example.com/page-name/

umleiten Sollte auf

https://example.com/page-name

Mein aktueller .htaccess https://example.com/index.php umleitet, wenn sie in einem nachgestellten geben/und ich kann nicht herausfinden, wie man es repariert.

Antwort

1

Sie haben Ihre Regeln neu zu ordnen, halten Sie Ihre externen RewriteRules (Regeln mit R-Flag) vor internen Faktoren,

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/$ /$1 [L,R] 
#other rules 
Verwandte Themen