RewriteCond auszuschließen Pfad nicht funktioniert
Möchte ich diese URL:
http://www.example.com/path/antyhing
NICHT umgeleitet werden.
Hier ist, was ich habe, die nicht funktioniert:
RewriteCond %{REQUEST_URI} !^/path/.*$ [NC]
RewriteRule ^ http://m.example.com/[R,L]
Derzeit leitet alle URLs auf http://m.example.com/
Hier ist der vollständige code in meine .htaccess-Datei:
RewriteBase /
RewriteEngine On
# Check if mobile=1 is set and set cookie 'mobile' equal to 1
RewriteCond %{QUERY_STRING} (^|&)mobile=1(&|$)
RewriteRule ^ - [CO=mobile:1:%{HTTP_HOST}]
# Check if mobile=0 is set and set cookie 'mobile' equal to 0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [CO=mobile:0:%{HTTP_HOST}]
# Skip next rule if mobile=0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [S=1]
# Check if this looks like a mobile device
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC,OR]
RewriteCond %{HTTP:Profile} !^$
# Check if we're not already on the mobile site
RewriteCond %{HTTP_HOST} !^m\.
# Check to make sure we haven't set the cookie before
RewriteCond %{HTTP:Cookie} !\mobile=0(;|$)
# Don't redirect "path" pages
RewriteCond %{REQUEST_URI} !^.+?/path/.*$ [NC]
# Now redirect to the mobile site
RewriteRule ^ http://m.example.com/[R,L]
Es sollte funktionieren, aber möglicherweise haben andere Regeln, die in Konflikt mit dieser Regel. Können Sie Ihre aktuellen code aus .htaccess?
danke ich habe den vollständigen code.
Es sieht gut aus. Können Sie versuchen:
Vielen Dank, leider jeder Seite unter
Eine Seite Frage, warum haben Sie
danke ich habe den vollständigen code.
Es sieht gut aus. Können Sie versuchen:
RewriteCond %{REQUEST_URI} !^/path/ [NC]
(ich glaube path
geändert werden muss mit dem eigentlichen Seitennamen)Vielen Dank, leider jeder Seite unter
/path/
noch umgeleitet 🙁Eine Seite Frage, warum haben Sie
\mobile
statt mobile
?InformationsquelleAutor Community | 2013-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ersetzen Sie Ihre Letzte Regel:
Bearbeiten von OP: Das einzige problem war aus der
%{REQUEST_URI}
dass für einen Grund, dass ich nicht verstehe funktioniert nur gegen^.*/path/.*$
Es ist wirklich seltsam, da all dies funktioniert gut auf meinem Apache.
Es ist ja super strange. Wussten Sie testen meinen gesamten code und es funktioniert für Sie? Wenn ja, dann was könnte falsch in meiner Seite? Ich habe keine anderen
.htaccess
- Datei, könnte es sein, browser-caching? Ich versuche zu verstehen und zu lösen dieses Problem heute... ein bisschen verzweifelt, nachdem ich 3 Stunden versucht jede mögliche Kombination!Ich werde testen Sie Ihre vollständigen code in meine
.htaccess
jetzt. Darf ich wissen, was ist Ihre Apache-version?Vielen, vielen Dank! Meine Apache version ist 2.2.22 laufen auf CentOS 5.8, es ist eine DV-Managed server auf MediaTemple, danke!
InformationsquelleAutor anubhava