Bir PHP "oldukça url" kullanarak Site URL'ler

0 Cevap php

Ben hafif NiceDog PHP yönlendirme çerçevesinde, bu gibi yolları deneme olmuştur:

R('entries/(?<id>\d+)')
  ->controller('Entries_Controller')
  ->action('show')
  ->on('GET')

Şimdi .htaccess dosya bu yüzden böyle yönlendirme yapmak için kurulur:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Benim sorunum yerde bir URL yapmak istediğinizde, bunu yapmak imkansız görünüyor olmasıdır.

Ben sayfasını entries/5 talep ettik ve bu sayfada başka bir girişe bağlamak istiyorum söylüyorlar entries/6:

<a href="entries/6">Next Entry</a>

This resolves to the address http://localhost/folder/to/project/entries/5/entries/6
Not what I want.

The href /entries/6 would link to http://localhost/entries/6
Also not what I want.

Bu geçici bir çözüm için, ben bu sorunu işlemek için bir işlev oluşturuldu:

function url($route) {
    return "http://localhost/folder/to/project/$route";
}

Yani şimdi yazabilirim

<a href="<?= url('entries/6') ?>">Next Entry</a>

şimdi ben istiyorum tam olarak ne olduğu, http://localhost/folder/to/project/entries/6 bağlantılar hangi.

Ancak, EVERY, site içi bağlantı için bunu yapmak zorunda, ve harici olarak oluşturulan URL içermeyen daha iyi bir çözüm olabilir gibi görünüyor.

Bu sorunu çözmek için "iyi" bir yolu var mı? Bu PHP çerçeveler ile bir "ortak" bir sorun var mı? (Bu olacak gibi görünüyor)

0 Cevap