Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [.htacces] Dodawanie domeny do adresu
-Michał85-
post 24.08.2008, 23:58:48
Post #1





Goście







Witam,

czy istniej jakiś sposób żeby dodać do linków domenę? Np. mam link href="kontakt.html", a chcę żeby się wywołało href="wp.pl/kontakt.html", nie chodzi mi tutaj o maskowanie a normalne przekierowanie.
Go to the top of the page
+Quote Post
tomekpl
post 25.08.2008, 00:41:16
Post #2





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


<a href="http://www.wp.pl/kontakt.html">ssss</a>

Zamieniając za pomocą modrewrite można tylko po swojej stronie servera smile.gif
Go to the top of the page
+Quote Post
-Michał85-
post 25.08.2008, 09:03:47
Post #3





Goście







html znam dość dobrze i wiem jak to sie robi ;d, ale jeśli masz 10000 linków do zrobienia? To już chyba nie bardzo...
Go to the top of the page
+Quote Post
Kicok
post 25.08.2008, 10:38:15
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Kod
RewriteBase /
RewriteRule (.*) http://www.wp.pl/$1 [R,QSA]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
barthpl
post 25.08.2008, 10:38:18
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


1) To może przechwycenie strony przed jej wysłaniem do przeglądarki (ob_start" title="Zobacz w manualu PHP" target="_manual, ob_get_contents" title="Zobacz w manualu PHP" target="_manual, ob_end_clean" title="Zobacz w manualu PHP" target="_manual) a następnie przy pomocy wyrażeń regularnych (eregi_replace" title="Zobacz w manualu PHP" target="_manual) podmiana "<a href=" na "<a href=domena".

Taki schemacik dla pliku index.php:
  1. <?php
  2.  
  3. // kod odpowiedzialny za wykonanie strony;
  4.  
  5. $out = ob_get_contents();
  6.  
  7. die( eregi_replace('href="', '<a href="http://domain.pl/', $out) );
  8. ?>

W tym wypadku należy jednak pamiętać o tym aby wszystkie linki formatować w postaci <a href="plik.php">.

2) Innym rozwiązaniem jest stworzenie funkcji, która będzie formatować linki (bądź sam adres) i używać je w następujący sposób:
Kod
<a href="<?php myURL('kontakt.html'); ?>">ssss</a>
gdzie funkcja będzie wyglądać tak:
  1. <?php
  2. function myURL( $file ) {
  3. return 'http://domain.pl/'.$file;
  4. }
  5. ?>

Podobne rozwiązanie jest wykorzystywane w osCommerce.


--------------------
Jeżeli pomogłem rozwiązać Twój problem, kliknij pomógł.
Go to the top of the page
+Quote Post
-Michał85-
post 25.08.2008, 19:01:57
Post #6





Goście







Dzięki chłopaki smile.gif Bardziej odpowiada mi rozwianie Kicok'a tylko że po wklejeniu regułki dostaje taki komunikat

Cytat
Nieprawidłowe przekierowanie













Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.








* Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.
Go to the top of the page
+Quote Post
Kicok
post 26.08.2008, 09:22:50
Post #7





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Kod
RewriteEngine On

RewriteBase /
RewriteCond $1 !^$

#
RewriteCond $1 !^index\.php
RewriteCond $1 !^innyplik\.php
#

RewriteRule ^(.*)$ http://www.wp.pl/$1 [R,QSA]


W RewriteCond wypisujesz pliki, które nie będą przekierowywane według powyższego schematu.


Ewentualnie, jeżeli chodzi ci o przekierowanie typu: "strona.pl/plik.php => strona.pl/folder/plik.php" to:
Kod
RewriteEngine On

RewriteBase /

#
RewriteCond $1 !^folder/
#

RewriteRule ^(.*)$ http://www.wp.pl/$1 [R,QSA]


Ten post edytował Kicok 26.08.2008, 09:25:46


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
SirZooro
post 26.08.2008, 13:06:39
Post #8





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


A nie lepiej zrobić to sprytnie? Np. tak:
Kod
RewriteCond ^([a-z0-9\.-]+\.[a-z][a-z]+)/(.*)$ http://$1/$2 [NC,R,L]


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 05:01