diff --git a/front/dist/.htaccess b/front/dist/.htaccess
new file mode 100644
index 00000000..eb3c6a48
--- /dev/null
+++ b/front/dist/.htaccess
@@ -0,0 +1,23 @@
+DirectoryIndex index.html
+
+# By default, Apache does not evaluate symbolic links if you did not enable this
+# feature in your server configuration. Uncomment the following line if you
+# install assets as symlinks or if you experience problems related to symlinks
+# when compiling LESS/Sass/CoffeScript assets.
+# Options FollowSymlinks
+
+# Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve
+# to the front controller "/index.php" but be rewritten to "/index.php/index".
+
+ Options -MultiViews
+
+
+RewriteEngine On
+
+RewriteBase /
+
+# If the requested filename exists, simply serve it.
+# We only want to let Apache serve files and not directories.
+# Rewrite all other queries starting with _ to index.ts.
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule "^_/" "/index.ts" [L]
diff --git a/front/dist/index.html b/front/dist/index.html
index 85aced1e..51d52705 100644
--- a/front/dist/index.html
+++ b/front/dist/index.html
@@ -5,6 +5,7 @@
+
Document
diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts
index bc6b746e..d00ad604 100644
--- a/front/src/Phaser/Game/GameScene.ts
+++ b/front/src/Phaser/Game/GameScene.ts
@@ -151,6 +151,15 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface, Creat
context.strokeStyle = '#ffffff';
context.stroke();
this.circleTexture.refresh();
+
+ // Let's alter browser history
+ let url = new URL(this.MapUrlFile);
+ let path = '/_/'+url.host+url.pathname;
+ if (url.hash) {
+ // FIXME: entry should be dictated by a property passed to init()
+ path += '#'+url.hash;
+ }
+ window.history.pushState({}, null, path);
}
private getExitSceneUrl(layer: ITiledMapLayer): string|undefined {
diff --git a/front/webpack.config.js b/front/webpack.config.js
index ff164804..d1bccd6f 100644
--- a/front/webpack.config.js
+++ b/front/webpack.config.js
@@ -8,6 +8,12 @@ module.exports = {
contentBase: './dist',
host: '0.0.0.0',
disableHostCheck: true,
+ historyApiFallback: {
+ rewrites: [
+ { from: /^_\/.*$/, to: '/index.html' }
+ ],
+ disableDotRule: true
+ },
},
module: {
rules: [
@@ -24,6 +30,7 @@ module.exports = {
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
+ publicPath: '/'
},
plugins: [
new webpack.ProvidePlugin({