还没有找到任何相关内容,但是有没有人找到正确的方法来打开HTML5模式并让它与wordpress一起正常工作并且它是当前的重写?
Wordpress重写:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Current wordpress rewrites
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) /index.php [L]
</IfModule>
当然,apache HTML5模式会重写
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) /index.html [L]
我知道他们非常相似,但我很难将HTML5模式用于刷新,同时将Angular APP嵌入到wordpress / php页面中。
答案 0 :(得分:0)
在对此进行黑客攻击之后,我得到了一个非常hacky的回答,YMMV:
RewriteRule ^search/([^/]+)$ http://www.example.com/search/#/$1 [NE,L]
在我目前的情况下,我的应用程序位于example.com/search /
中所以你告诉我你打开HTML5模式,实际上是通过重定向将其还原回来了?!
是。
你喝醉了吗?
可能,但我确实有几个理由说明原因;
我不会接受我的回答,因为这是一个黑客攻击,但我知道很多人在做了一些搜索后都面临着这个问题。希望有人/我们可以为此提出更好的解决方案!
答案 1 :(得分:0)
对于WP来说,这对我来说似乎很合适。如果有的话,这将跳转到实际的资源,否则跳到index.php。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.php [L]
如果url是/ service,则呈现服务的示例路由,如果url是其他任何内容,则呈现/ home。
$routeProvider
.when("/service", {
controller: "ServiceController",
templateUrl: "/wp-content/themes/angularjs-wp/templates/service/index.html"
})
.otherwise({
redirectTo: "/home"
});
$locationProvider
.html5Mode(true)