mod_rewrite index.php ama yeniden

2 Cevap php

Benim htaccess i var

RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]

Fikir index.html domain.com / anythinghere.html sırasında talep sonra ince ve bir şey cms.php dosyayı kapma kuralı kullanacak yük olacaktır.

Ancak onun değil çalışma - herhangi bir ipucu? Gerçekten bu asap sıralama gerekir.

2 Cevap

Bu kural deneyin:

RewriteCond $1 !^(cms\.php|index\.html)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]

Bunu dene:

RewriteCond %{REQUEST_URI} !(index.html)
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]

Başka bir yol -f veya -d bayrakları, varolan bir dosya ya da dizin demek hangi kullanmaktır.

RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]

Bu kullandığınızda, varolan herhangi bir dosya ya da dizin yeniden yazılamaz olmayacaktır. Bu, özellikle css veya js dosyaları için yararlıdır.