2015-02-18 1 views
0

У меня есть страница на моем сайте (это html), которая называется «providers.html». для того, чтобы удалить .html часть из URL, я добавил этот код в .htaccess:веб-страница возвращает ошибку 403 и не показывает фактическую страницу

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.html [NC,L] 

теперь проблема в том, что у меня есть папка, которая называется «поставщиками» и содержит файлы, связанные с этой страницей.

Теперь, когда я перехожу к URL-адресу, я получаю ошибку 403, потому что браузер загружает папку, а не страницу html.

Я очень ценю, если кто-нибудь может дать мне некоторое руководство для решения этой проблемы. благодаря

+0

Есть ли у вас какие-либо другие правила? Есть ли в папке поставщиков? –

+0

Ну, вы не можете иметь страницу * и * папку с таким же именем в дереве каталогов, поэтому она тоже не будет работать. Лучше всего переименовать папку поставщиков. –

+0

Nevermind - кажется, я нашел решение. Надеюсь, это правильно, и что он не представляет никаких потенциальных проблем. –

ответ

1

Это может быть то, что вы ищете:

DirectorySlash Off 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !\/$ 
RewriteRule ([^\.]+) $1.html [NC,L] 
  1. Выключено каталог слэши. Эта часть является самой важной частью. В принципе, если каталог существует, он не должен добавлять косую черту. Таким образом, мы можем продолжить проверку правил против точного ввода URI.

  2. Добавлена ​​проверка, чтобы проверить, не закончился ли текущий запрос косой чертой.

    • Если этого не произойдет, переписать в соответствующий HTML-файл
    • В противном случае, загрузите содержимое каталога. Вы, скорее всего, захотите иметь еще один файл .htaccess, чтобы предотвратить списки и т. Д., И разрешать доступ только к существующим файлам.
  3. Update: Удалены ^ и $ из правила, так как я не считаю, что нужно здесь.

+0

это сработало! большое вам спасибо за вашу помощь. –

+0

Каждый раз - рад, что это сработало для вас. :) –

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