Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [.htaccess] uniwersalne przekierowanie z www na bez www
Hinhan
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2006
Skąd: foto.vidoque.eu

Ostrzeżenie: (0%)
-----


Witam,

poszukuję informacji jak przekierować adres dowolnej domeny (nie wpisując jej nazwy) z 'www' na bez 'www'.
Próbowałem kombinować z
  1. RewriteCond %{HTTP_HOST} ^www\.%{HTTP_HOST}$ [NC]
  2. RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

ale bez efektów. Czy da się w ogóle coś takiego zastosować?


[EDIT]
ok do zamknięcia

  1. RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  2. RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


Ten post edytował Hinhan 7.07.2011, 10:55:13
Go to the top of the page
+Quote Post
szajens
post
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


a ja bym potrzebował z 'bez www' na 'www'

przyznam że mam kłopot
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


http://lmgtfy.com/?q=htaccess+non+www+to+www
Go to the top of the page
+Quote Post
szajens
post
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


przekierowanie uniwersalne 'www na bez www':
Kod
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


przekierowanie uniwersalne 'bez www na www':

Kod
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]




zastanawiam się dlaczego nie działa ten sposób:

Kod
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www\.%1/$1 [R=301,L]



jako że to odwrotność, mógłby mi ktoś to wytłumaczyć?

Ten post edytował szajens 19.09.2015, 11:39:41
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W przypadku RewriteCond z negacją nie można się odwołać do "zmatchowanej" grupy - referencja nie istnieje.

P.S. W RewriteRule wyrzuć backslash'e przed kropką.
Go to the top of the page
+Quote Post
szajens
post
Post #6





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 19.09.2015, 15:19:44 ) *
W przypadku RewriteCond z negacją nie można się odwołać do "zmatchowanej" grupy - referencja nie istnieje.

P.S. W RewriteRule wyrzuć backslash'e przed kropką.


Witam, dzieki niestety nie mogę dac pomógł. Moglbys podeslac jakis link wyjasniajacy mi to zagadnienie?

Czy reguły wpisane przeze mnie są technicznie prawidłowe?

Sorry za literówki, korzystam z androida
Go to the top of the page
+Quote Post
trueblue
post
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Zagadnienie wyjaśniłem Ci wyżej. W warunku z negacją nie ma backreferencji.
U Ciebie wynikiem w tym przypadku:
Kod
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www\.%1/$1 [R=301,L]

będzie:
http://www\.%1/grupa_z_rewrite_rule

Tak więc technicznie jest to źle, dodatkowo kropka, o której pisałem.


Dla RewriteRule (dla RewriteCond jest identycznie):
Cytat(http://httpd.apache.org/docs/trunk/mod/mod_rewrite.html)
When using the NOT character to negate a pattern, you cannot include grouped wildcard parts in that pattern. This is because, when the pattern does NOT match (ie, the negation matches), there are no contents for the groups. Thus, if negated patterns are used, you cannot use $N in the substitution string!


Ten post edytował trueblue 20.09.2015, 08:57:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 16:54