Я пишу CMS, которая использует JavaScript для загрузки содержимого страницы из базы данных. Но мне не нужны хеши #
в моих URL.
Когда запрашивается путь /cms/post/123
, Apache должен загрузить файл /cms/index.html
. Но если по пути уже есть файл, например /cms/image.png
, Apache должен вернуть файл. Другой момент: когда, например, запрашивается /cms/admin
или /cms/admin/post/123
, должен быть возвращен файл /cms/admin.html
. Каталог CMS может быть другим.
1 ответ
Вы можете попробовать использовать эти правила в файле htaccess в вашем каталоге /cms/
Options -Multiviews
RewriteEngine On
# if file exists, serve the file
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
# if request is for admin, load admin.html
RewriteRule ^admin/ admin.html [L]
# everything else gets routed to index.html
RewriteRule ^ index.html [L]
Вы можете поместить это в любой каталог, в котором находится CMS.
Похожие вопросы
Новые вопросы
apache
Используйте этот тег (вместе с соответствующим тегом языка программирования) для вопросов программирования, касающихся HTTP-сервера Apache. Не используйте этот тег для вопросов о других продуктах Apache Foundation. Обратите внимание, что вопросы конфигурации сервера обычно лучше подходят на https://serverfault.com