2012-01-05 33 views
5

ile eğik çizgi değilse bir dizin sondaki Aşağıdaki yeniden yazma kuralları vardır:Kaldır apache

#remove the www. 
RewriteCond %{HTTP_HOST} ^www.website.co.uk$ [NC] 
RewriteRule ^(.*)$ http://local.website.co.uk/$1 [R=301,L] 

#this removes php extention 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

# stops you accessing url with.php 
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^.?\ ]+)\.php 
RewriteRule ^([^.]+)\.php(/.+)?$ /$1%{PATH_INFO} [R=301] 

birisi biriyle sitesine erişmek için çalışırsa eğik çizgi kaldıran bir kuralda eklemek istiyorum. Eğer ben .php uzantılı URSL yönlendiren bir kural var gördüğünüz gibi

örn

website.co.uk/cheese/ peynir

/yönlendirmelidir, emin değilim nerede başlar.

İzleyen URL'yi kaldırmak istemediğim kök klasörde dizin var, ancak bunlar için bir yoksayma kuralı ekleyebilirim.

Alkış

cevap

13

.htaccess dosyasına aşağıdaki değişiklik

RewriteEngine on 
RewriteBase/

#existing rule 
#remove the www. 
RewriteCond %{HTTP_HOST} ^www.website.co.uk$ [NC] 
RewriteRule ^(.*)$ http://local.website.co.uk/$1 [R=301,L] 

#new Rule 
#if its not a directory 
RewriteCond %{REQUEST_FILENAME} !-d 
#and it has a trailing slash then redirect to URL without slash 
RewriteRule ^(.+)/$ /$1 [L,R=301] 

# rest of your existing rules go here 
+0

mükemmel teşekkürler olun! – AJFMEDIA