. Htacces tarafından oluşturulan temiz URL okumak PHP Başlarken

1 Cevap

Ben temiz URL'ler oluşturmak için çalışıyorum ve şimdiye kadar aşağıdaki URL'yi dönüştürmek için htaccess kullanmak başardınız.:

www.example.com/index.php?catagory=Section1&page=Page1

içine:

www.example.com/Section1/Page1/

Sorun o URL'yi yorumlamak ve değişkenleri ayıklamak için PHP oluyor. İşte kullanıyorum kodu:

. Htaccess kodu:

Options +FollowSymLinks
Options +Indexes
RewriteEngine on

INTERNAL STATIC URL TO DYNAMIC URL
RewriteRule ^/([^/]+)/?$ /index.php?c=$1 [L]
RewriteRule ^/([^/]+)/([^/]+)/?$ /index.php?c=$1&p=$2 [L]

EXTERNAL DYNAMIC URL TO STATIC URL
RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9]{1,3}\ /index\.php\?catagory=([^&]+)\ HTTP/
RewriteRule ^index\.php$ http://www.example.com/%1/? [R=301,L] 
RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9]{1,3}\ /index\.php\?catagroy=([^&]+)&page=([^&]+)\ HTTP/
RewriteRule ^index\.php$ http://www.example.com/%1/%2/? [R=301,L] 

PHP kodu:

$urlVariables = explode("/",$_SERVER['REQUEST_URI']);
$catagory = $urlVariables[1];
$page = $urlVariables[2];

Bu grubu ben bir 404 hata sayfası alıyorum. Ben htacces Bu kod satırı içine index.php eklerseniz:

RewriteRule ^index\.php$ http://www.example.com/index.php/%1/? [R=301,L]

En yüklerde sayfasında, ama css ve görüntüleri yüklenmez.

1 Cevap

Bir. Htaccess dosyasında mod_rewrite kullanarak zaman, desen içeriksel yerel yol öneki kaldırmak gerekir. Yani kök dizininde htaccess dosya halinde lider /.:

RewriteRule ^([^/]+)/?$ /index.php?c=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?c=$1&p=$2 [L]