我正在尝试将我的项目文件夹重定向到上一级结构。 我想按如下方式更改网址地址:
到
在根文件夹中,我没有这些项目文件夹,它们在“项目”文件夹中
结构是这样
import React,{ Component } from 'react';
import Home from './components/Home';
import MovieInfo from './components/MovieInfo';
import TvInfo from './components/TvInfo';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
class App extends Component {
render(){
return(
<BrowserRouter>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/:movie_id" component={MovieInfo} />
<Route path="/:tv_id" component={TvInfo} />
</Switch>
</BrowserRouter>
)
}
}
export default App;
因此,如果用户输入URL http://localhost/my-website/project1/,则URL保持不变,但是就像输入完整地址一样起作用。这可以实现吗?到目前为止,我尝试了很多选择,但仍然无法完成...
答案 0 :(得分:1)
首先,如果可以修改Apache配置文件,请不要使用.htaccess
文件。
最好将这些类型的配置添加到vhost配置中。
话虽如此:
.htaccess
<Location "/">
AllowOverride None
Options FollowSymLinks
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^project(.*) projects/project$1 [QSA,L]
# RewriteRule ^project([0-9*]?)/(.*) projects/project$1/$2 [QSA,L]
</IfModule>
</Location>
/my-website/project1/
变为/my-website/projects/project1/
/my-website/project1/whatever
变为/my-website/projects/project1/whatever
取消对一个盟友的评论,
第一个比较通用,并在project
之后全部捕获,
第二个更具体,并寻找一个数字。
答案 1 :(得分:0)
简单的答案,我偶然发现自己。
在其他任何调用之前的顶部,添加以下内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^projects/(.+)$ $1
</IfModule>