Давайте предположим, что у меня есть статический сайт на сервере Apache с этой папки структуры:.htaccess проверить, если файл существует в нескольких вложенных папок и переписать
http://www.example.com
|
+-- /news/
| |
| +-- page1.html
| +-- page2.html
| +-- ...
|
+-- /otherstuff/
URL-адрес страниц внутри/Новости/папки является:
http://www.example.com/news/page1.html
http://www.example.com/news/page2.html
Теперь, количество файлов в/новости/папки растет, и я хотел бы создать новые подпапки внутри/новости/и разделять файлы через эти новые директорий, но я также хочу, чтобы скрыть имена подпапок в URL-адресах.
Новая структура папок будет:
http://www.example.com
|
+-- /news/
| |
| +-- /subfolder1/
| | |
| | +-- page1.html
| |
| +-- /subfolder2/
| | |
| | +-- page2.html
| +-- ...
|
+-- /otherstuff/
но URL-адреса этих страниц должны оставаться такой же:
http://www.example.com/news/page1.html
http://www.example.com/news/page2.html
и не:
http://www.example.com/news/subfolder1/page1.html
http://www.example.com/news/subfolder2/page2.html
Есть ли способ t o получить этот результат, используя правила перезаписи в .htaccess?
Я прочитал этот вопрос: How to use mod_Rewrite to check multiple folders for a static file
но принятый ответ не работает для меня.
Заранее благодарим за любые советы.
Привет, спасибо для вашей помощи. Я пробовал свой код, но все равно не повезло: url /news/file.html дает 404, даже если файл в /news/subfolder/file.html существует. Я начинаю думать, что в серверных переменных что-то не так, потому что если я перейду в /news/subfolder/news1.html, код% {DOCUMENT_ROOT} /news/subfolder/$1.html станет C:/xampp/htdocs/news/subfolder/news/subfolder/file.html – Francesco2810
Да, это проблема на некоторых серверах. Я выложу для вас рабочее решение. – starkeen
@ francesco2810 См. Edit – starkeen