2017-04-04 1 views
1

Ich möchte alle Links umleiten /htaccess: Umleitung zum letzten Schrägstrich falls nicht '&' oder '?'

dauern Aber wenn Gebrauch ? oder & in URL, ich will keine Umleitung

Probe:

http://name.com/page => http://name.com/page/ // Redirect 
http://name.com/hello/new => http://name.com/hello/new/ // Redirect 
http://name.com/hello/?text=yes => http://name.com/hello/?text=yes // NO Redirect 
http://name.com/other/?text=yes&val=ok => http://name.com/other/?text=yes&val=ok // NO Redirect 

Antwort

1

Sie tun es wie folgt aus:

# add a trailing slash if not real files and no query string 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE] 
+0

Ich möchte, wenn das Dateiformat "xml" nicht umleiten, wie kann ich? danke –

+1

Fügen Sie einfach eine weitere Bedingung als 'RewriteCond% {REQUEST_URI}! \. xml $ [NC]' hinzu – anubhava

1

Verwendung unter Regel

RewriteEngine On 

# checking empty query string 
RewriteCond %{QUERY_STRING} ^$ 
RewriteCond %{REQUEST_FILENAME}\.xml !-f 
RewriteEngine ^(.*)$ $1/ [R=301,L] 
+0

ich will, wenn Dateiformat „xml“ nicht umleiten ist, wie kann ich? danke –

+0

Versuchen Sie den bearbeiteten Teil, sagen Sie mir, ob gearbeitet oder nicht. –

+0

Danke. Dieser Code funktioniert nicht: RewriteCond% {REQUEST_FILENAME} \. xml! -f RewriteCond% {QUERY_STRING}^$ RewriteRule [^ /] $% {REQUEST_URI}/[L, R = 301, NE] –