2016-03-29 12 views
1

Benim root example.com/ Web sitemde WordPress yüklü var.Nginx SEO dostu URL yapısı için kuralları yeniden - WordPress ve başka bir Web uygulaması

Ayrıca, example.com/my-app/ adresinde erişilebilen example.com/my-app/file.php?arg=value gibi çirkin bağlantılar içeren başka bir Web uygulamasına sahibim.

nasıl benim WordPress beni yönlendirir example.com/my-app/value/ erişimi eğer my-app SEO dostu URI yapısı Şu ?:

example.com/my-app/file.php?arg=value 
to 
example.com/my-app/value/ 

aşağıda örnek olarak çalışmaya yapabilirsiniz/value/öğesinin bazı karakterlerini içeren gönderi. Niye ya? Bunun işe yaraması için zaten var mı?

location/{ 
    try_files $uri $uri/ /index.php?$args; 
    fastcgi_read_timeout 300; 
} 

location ~ \.php$ { 
    include /etc/nginx/fastcgi_params; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

Herhangi fikirler:

etki alanı için

Benim Nginx direktifleri aşağıda listelenmiştir? Anahtarlıklar ile Ajax navigasyonunu kullanmalı mıyım? HTML5 pushState() API'sinden ne haber? Herhangi bir çalışma örneği?

Yardımlarınız için teşekkürler!

cevap

2

WordPress Hem ve işler basit kılan ortak bir belge kök my-app eser.

try_files yönergesinin son öğesi, (örneğin) SEO dostu URL'ler için varsayılan eylemdir. Yukarıdaki durumda

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 
location /my-app { 
    try_files $uri $uri/ /my-app/file.php?arg=$uri&$args; 
} 
location ~ \.php$ { 
    try_files $uri =404; 
    ... 
} 

, arg değere /my-app/value olarak ayarlanır:

Örneğin, bir location /my-app blok kullanılarak elde edilir, /my-app ile başlayan URI'ler için farklı bir varsayılan işleyicisi gerekir. (Sorunuzu) fastcgi_read_timeout 300; location ~ \.php$ blok içine yerleştirilebilir gerektiğini

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 
location /my-app { 
    try_files $uri $uri/ @rewrite; 
} 
location @rewrite { 
    rewrite ^/my-app/(.*)$ /my-app/file.php?arg=$1; 
} 
location ~ \.php$ { 
    try_files $uri =404; 
    ... 
} 

Not veya içinde: Eğer gerçekten URI son bölümünü ayıklamak gerekiyorsa, örneğin, bir yazılıºta adlandırılmış konum eklemek dış blokların biri, sırayla etkili olduğu bulunmuştur.

yukarıda kullanılan nginx yönergelerle ilgili ayrıntılar için this bakınız.

+0

Harika şeyler adam <4 –