Bizim app bölümlerini durdurma Apache ReWrite kural

2 Cevap php

Bizim uygulama bizim PHP uygulama kurallarını yeniden kullanır ve bizim geliştirici bizim Apache vhosts dosyasına bu yeniden yazma kuralı eklendi:

Ben aşağıda öneri dayalı Rewrite kuralları güncelledik.

Şu anda benim vhosts dosyası yapılandırma Bu gibi görünüyor:

RewriteCond %blog !-d RewriteRule ^/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1

RewriteCond %blog !-d RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2

RewriteCond %blog !-d RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2&c=$3

RewriteCond %blog !-d RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2&c=$3&d=$4&e=$5

Şu anda başarıyla vb / mal gibi bizim diğer uygulama tüm sekmeleri erişebilir duyuyorum Ama hala www.test.com / Blog erişemiyor

O hala bizim uygulamanın ana index.php sayfasına beni yeniden yönlendiriliyor. Yeniden yazma günlüklerinden:

[13/Oct/2009:17:08:41 --0400] [www.test.com/sid#8d03d8][rid#b902d8/initial] (1) pass through /blog/wp-login.php [13/Oct/2009:17:08:41 --0400] [www.test.com/sid#8d03d8][rid#b942f8/initial] (1) go-ahead with / /public_html/index.php [OK]

Teşekkürler

2 Cevap

Sen yeniden yazma kuralları bir sürü çalışıyoruz. Ben değil tavsiye.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?url=$0 [PT,L]

Sana $_GET['url'] değişkene tam dize yeniden tavsiye ederiz. Eğer kodda bu değişkeni patlayabilir. Bu şekilde sadece bir kez vhost'unuzu düzenlemek zorunda.

RewriteCond hala (yukarıdaki örnekte ve aşağıda) bothways sayar.

Bir dosya veya dizin varsa, bu yeniden yazma koşullar kontrol edecektir. Değilse bu yeniden yazma kuralı uygulayacaktır

if the conditions will not work try to place the condition above every RewriteRule like this:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2&c=$3 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/([a-zA-Z0-9-,]+)/?$ /index.php?a=$1&b=$2&c=$3&d=$4

Koşullar kullanılarak deneyin

RewriteCond %{REQUEST_URI} !^/blog$ [OR]
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule ^/([a-zA-Z0-9-_,]+)/?$ /index.php?a=$1

Bu koşullar ve regexes ile oynama meselesi. URI "/ blog /" ile başlar bu RewriteRule tetikleme önlemek gerekir