我正在使用带有AngularJS的pushstate,但我对htaccess文件有一些问题。 这是HTML5mode为false的URL:
http://127.0.0.1/mpu/#!/Roma/home (罗姆是一个变量)
目前我正在使用它:
<ifModule mod_rewrite.c>
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html
</ifModule>
结果,我有这个: http://127.0.0.1/mpu/home
但我需要和#34; Roma&#34;在mpu之后
有人可以帮我写一下正确的htaccess吗?
答案 0 :(得分:2)
我建议你阅读这篇文章https://ngmilk.rocks/2015/03/09/angularjs-html5-mode-or-pretty-urls-on-apache-using-htaccess/
<强>更新强>
这是我的根文件夹
上的 .htaccess 文件RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
这是我的虚拟主机(我在Windows上使用Xampp)。
转到 C:\ xampp \ apache \ conf \ extra 并编辑 httpd-vhosts.conf 文件,不要忘记添加 127.0。主机文件中的0.1 example.local
<VirtualHost *:80>
ServerName example.local
DocumentRoot "C:\xampp\htdocs\YOUR_PROJECT_FOLDER"
<Directory "C:\xampp\htdocs\YOUR_PROJECT_FOLDER">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
重新启动Apache服务器,你很高兴。
完成此设置后,这将是Angular
中路由部分的代码var Config = function($locationProvider, $stateProvider, $urlRouterProvider){
$stateProvider
.state('home', {
url : '/',
templateUrl : 'home.html'
})
.state('city', {
url : '/:city/home',
templateUrl : 'city.html'
});
$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);
};
Config.$inject = [
'$locationProvider',
'$stateProvider',
'$urlRouterProvider'
];
app.config(Config);