2016-10-28 2 views
0

У меня есть очень небольшой сайт, с моей .htaccess создан, чтобы позволить URLs как:.htaccess предотвратить папку по умолчанию 301 перенаправляет

mysite.com/brand/login 
mysite.com/brand/dashboard 
mysite.com/controller 

Все это перенаправление:

mysite.com/driver.php?___=brand/login 
mysite.com/driver.php?___=brand/dashboard 
mysite.com/driver.php?___=controller 

Я просто с помощью одного правила перезаписи для этого:

RewriteRule ^(([a-zA-Z0-9\-\_]+/?)*)$ index.php?___=$1 [L,QSA] 

Но в любом случае, он прекрасно работает, пока у меня есть страница с тем же именем, как папка в м y сайт.

// I navigate to: 
mysite.com/javascript 

// The site automatically provides a 301 redirect to 
mysite.com/javascript/? ___=javascript 

И теперь этот уродливый URL-адрес отображается в браузерах моих пользователей. Есть ли способ сообщить сайту, что я сам позабочусь обо всех переадресациях?

EDIT: Я определил это с помощью скрипача. Другой пример:

enter image description here

ответ

0

Welp нашел ответ сразу же после этой публикации. Эта строка в .htaccess исправила проблему.

DirectorySlash Off 

Я тогда, конечно, должен был очистить кэш браузера, чтобы сделать его забыть о 301.

https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryslash

директива DirectorySlash определяет, следует ли mod_dir FixUp URL-адреса, указывающие на каталог или нет.

Как правило, если пользователь запрашивает ресурс без завершающего слэша, , который указывает на каталог, mod_dir перенаправляет его на тот же ресурс, но с косой чертой в конце

И предупреждение системы безопасности:

Отключение перенаправления трейлинг-косой черты может привести к раскрытию информации . Рассмотрим ситуацию, когда mod_autoindex активен (Options + Indexes), а DirectoryIndex установлен на допустимый ресурс (скажем, index.html), и для этого URL нет другого специального обработчика. В этом случае запрос с завершающей косой чертой отобразит файл index.html . Но запрос без косой черты перечислит каталог .

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

  • Нет связанных вопросов^_^