2012-01-10 4 views
0

мне нужна помощь в этом HTAccess кодHtaccess: прекратить HTAccess работу во всей папке

RewriteRule ^([0-9a-z\-\_]+)?$ /index.php?url=$1 [L,QSA,NC] 

Это изменение кода все переписать адреса из

/тест-пост-имя

/index.php? url = test-post-name

, но это затрагивает все папки

означают

У меня есть VB на этом пути

site.com/vb

но URL-адрес apper как

site.com/vb/?url=

, как я могу это исправить

быть site.com/vb/index.phpилиsite.com/vb

+1

Пожалуйста, уточните, какие URL-адреса вы хотите изменить, какие URL-адреса вы хотите изменить оставить нетронутым. –

+0

Я имею в виду, что мой код htaccess работает в главном файле индекса и записывается во все другие пути, такие как '/ vb' и'/upload' –

+1

Так что используйте фильтр, который просто берет все, когда нет другого '/'. Что-то вроде ** 'RewriteRule ^/([^ /] +) $ ... blabla ...' **. –

ответ

0

Следующая переписывание будет иметь место, только если запрос не указывает на правильный каталог или файл:

RewriteEngine on 
RewriteBase/
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^([0-9a-z\-\_]+)?$ /index.php?url=$1 [L,QSA,NC] 

Чтобы отключить все переписывает внутри папки /vb можно добавить .htaccess в том, что папке и обороте перезаписываемого двигателя:

RewriteEngine off 
+0

'RewriteCond% {SCRIPT_FILENAME}! -f RewriteCond% {SCRIPT_FILENAME}! -d' ** должен здесь правильно установить мои vb-пути ???? ** –

+1

Все три строки должны идти в одном' .htaccess', что в тот же путь, что и ваш файл 'index.php', а затем никакие перезаписи не будут выполняться для чего-либо, что является допустимым путем или файлом, то есть'/vb' не будет перезаписано. – Cyclonecode

+0

спасибо, но я просто скопировал код, но он все еще работает как этот 'site.com/vb' на' site.com/vb/? url = vb' вот ссылка 'http: // www.wady-malaysia.com' и эта ссылка' http: //www.wady -malaysia.com/vb' перенаправить на 'http: //www.wady-malaysia.com/vb/? url = vb' –

Смежные вопросы