2013-08-01 2 views
0

Посмотрим, смогу ли я объяснить ситуацию. У меня есть сайт с одной страницей со всем содержимым на экране, но скрыто. Если, привязка, вы идете в domain.com/product/about Я бы взял первую часть, чтобы перейти в div-column «product» и div-row «about», с некоторым позиционированием Javascript и CSS.Отдельный веб-сайт .htaccess

Проблема: мне нужен .htaccess переписать все URL (кроме index.html OFC) в index.html (или любой другой URL мы установили).

Проблема внутри проблемы: эта веб-страница находится в поддиректории, и это может быть -probably- в поддиректории второго уровня (то есть, (корень)/папка/подпапка/thisweb). Давайте посмотрим в этом последнем случае, так что будет легче подняться, чем вниз.

Что у меня есть:

RewriteEngine on 
Options +FollowSymLinks 
RewriteBase /folder/subfolder/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteCond %{REQUEST_URI} !^index.html 
RewriteRule .* /index.html [L] 

Что происходит:

  • domain.com/subfolder/foo: Перенаправление domain.com/folder/subfolder/ домен
  • .com/подпапка/foo /: Запрошенный URL/er1csports/test/foo/не найден на этом сервере.

Игра вокруг с другими правилами, иногда я был перенаправлен в папку index.html родителя. Так же, как если RewriteRule не работал вообще - JFYI.

Что мне нужно:

  • Rewrite, как я сказал, чтобы все index.html, без изменения URL в адресной строке - это не имеет значения подуровней URL ( foo/foo2/foo3 также следует переписать в index.html).
  • Изображения, CSS, Javascript, ресурсы в целом, если они не могут быть затронуты их URL и ссылками, это было бы здорово.
  • Независимо от того, какой URL-адрес, «папка» никогда не должна появляться в адресной строке URL-адреса. Если бы мне сказали, как скрыть тоже «подпапку», если бы применяемые правила были разными в обоих случаях, было бы также отлично.

Я знаю , много чего. Но я ненавижу .htaccess, и я много часов искал и часами, и я не смог его найти.

Я буду продолжать искать и пытаться, но я не хочу писать 100 строк, когда есть способ написать только 10 и сохранить его в чистоте.

Большое спасибо за вашу помощь и время!

ответ

0

Попробуйте использовать этот код.htaccess:

Options +FollowSymLinks -MultiViews 

RewriteEngine on 
RewriteBase /folder/subfolder/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule . index.html [L] 
+0

Hello! Спасибо за Ваш ответ! К сожалению, domain.com/subfolder/foo не найден и перенаправляется на domain.com/folder/subfolder/foo/. Может быть, .htaccess из папок шаблонов может испортить вещи? – Unapedra

+1

Выше .htaccess будет применяться для URL-адресов, таких как: 'domain.com/folder/subfolder/foo' (у вашего URL-адреса нет' folder/'before' подпапка'. Однако да .htaccess присутствует в родительских папках, действительно изменит его поведение , – anubhava

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