Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [.htacces] Dodawanie domeny do adresu
Forum PHP.pl > Forum > Przedszkole
Michał85
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.
tomekpl
<a href="http://www.wp.pl/kontakt.html">ssss</a>

Zamieniając za pomocą modrewrite można tylko po swojej stronie servera smile.gif
Michał85
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...
Kicok
Kod
RewriteBase /
RewriteRule (.*) http://www.wp.pl/$1 [R,QSA]
barthpl
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.
Michał85
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.
Kicok
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]
SirZooro
A nie lepiej zrobić to sprytnie? Np. tak:
Kod
RewriteCond ^([a-z0-9\.-]+\.[a-z][a-z]+)/(.*)$ http://$1/$2 [NC,R,L]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.