SEO Dostu URL Dinamik URL PHP kullanarak

2 Cevap php

Şu anda böyle bir url var

http://<client_name>.website.com/index.php?function_name&cat=32

Ben Pazarlama insanlar gibi url yayınlamak böylece şeyler kurmak istiyorum

http://<client_name>.website.com/<parent_category>/<category>   

"Cat = XX" son <category> sadece oluşturulur. Ama pazarlama kampanyalarında ana kategoriyi kullanmak istiyor. Şu anda (bu daha sonra önemli hale gelecektir) html kök dizininde index.php yoluyla URL tüm geçmek.

Ben de dahil olmak üzere çeşitli çözümler denedim:

  1. mod_rewrite -., Bu yaklaşımla sorun, biz her kategori için bir kural yazmak gerekiyor çünkü büyük bir htaccess dosyası haline olmasıdır.

  2. RewriteMap - bu çıkış için harita dosyasını oluşturmak için veritabanını sorgulamak olabilir çünkü oldukça yakın geldi. Ancak, beri biz httpd.conf erişimi yoktur öğrendim.

  3. index.php - Ben işleri bizim index.php dosyası aracılığıyla her şeyi çalışıyor denedim, ama SEO amaçlı dostu tarayıcıda URL tutmaz.

Biri yardımcı olabilir başka bir fikri var umuyorum, ben gerçekten takdir ediyorum. Bunu çok büyük olurdu yardımcı olacak web üzerinde bir şey için bir başvuru var ise.

2 Cevap

Neden mod_rewrite ile index.php yönlendirmek tüm istekleri ve farklı kuralları yeniden yazmaya yol daha güvenilir bir yol gibi görünüyor yönlendirme mantığı, yazmak için PHP kullanmak?

Bunun kadar basit. Htaccess

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

Ve index.php PHP kod birkaç satır

$client_name = strtok($_SERVER['HTTP_HOST'],".");
list ($cat,$subcat) = explode("/",trim($_GET['request'],"/"));

Albay şarapnel cevabı, aşağı en azından ince seçimine ek olarak:

RewriteRule ^/([-a-zA-Z0-9_]+)/([0-9]+)$ index.php?function_name=$1&cat=$2 [L,QSA]  # domain.com/cat_name/23 is sent to the server as domain.com/index.php?function_name=cat_name&cat=23