首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为单页应用配置Kirby CMS中的htaccess

如何为单页应用配置Kirby CMS中的htaccess
EN

Stack Overflow用户
提问于 2017-05-17 08:46:46
回答 1查看 604关注 0票数 0

我正在开发一个单一的页面应用程序之上的Kirby CMS,并需要大多数网页重定向到主页,以便我可以处理的路由在前面。

但是,有些页面,即/api__data和与面板相关的所有内容仍然需要通过Kirby访问。

我在配置.htaccess文件以实现正确的重定向时遇到了问题。

目前,.htaccess看起来如下:

代码语言:javascript
复制
# Kirby .htaccess

# rewrite rules
<IfModule mod_rewrite.c>

# enable awesome urls. i.e.:
# http://yourdomain.com/about-us/team
RewriteEngine on

# make sure to set the RewriteBase correctly
# if you are running the site in a subfolder.
# Otherwise links or the entire site will break.
#
# If your homepage is http://yourdomain.com/mysite
# Set the RewriteBase to:
#
# RewriteBase /mysite

# In some enviroments it's necessary to
# set the RewriteBase to:
#
# RewriteBase /

# block text files in the content folder from being accessed directly
RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L]

# block all files in the site folder from being accessed directly
# except for requests to plugin assets files
#RewriteRule ^assets/plugins/([a-zA-Z0-9\.\-_%=]+)/(.*)$ site/plugins/$1/assets/$2 [L,N]
#RewriteCond $1 !^plugins/[a-zA-Z0-9\.\-_%=]+/assets/.*
RewriteRule ^site/(.*) index.php [L]

# block direct access to kirby and the panel sources
RewriteRule ^(kirby|panel\/app|panel\/tests)/(.*) index.php [L]

# make panel links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^panel/(.*) panel/index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]

</IfModule>

# Additional recommended values
# Remove comments for those you want to use.
#
# AddDefaultCharset UTF-8
#
# php_flag short_open_tag on

谢谢你提前提供帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-17 11:18:47

因此,为了使单一页面应用程序工作,我根本不需要编辑htaccess文件。我在site.php文件中添加了以下行(在访问函数中):

代码语言:javascript
复制
if (!preg_match("/api_/i", $uri)) {
  return $this->page = $this->homePage();
}

这确保了所有urls都被重定向到家乡(除了我的api调用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44019864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档