设置nginx以基于url提供静态html网页
我想服务于不同的网站根据网址用户输入。 例如,如果用户将转到设置nginx以基于url提供静态html网页,nginx,Nginx,我想服务于不同的网站根据网址用户输入。 例如,如果用户将转到 my domain.pl/内容将从桌面文件夹提供 root | |---mobile | |--- assets | |---js,css,img | |---desktop |--- assets |---js,css,img my domain.pl/desktop内容将从desktop文件夹提供 ro
my domain.pl/
内容将从桌面文件夹提供
root
|
|---mobile
| |--- assets
| |---js,css,img
|
|---desktop
|--- assets
|---js,css,img
my domain.pl/desktop
内容将从desktop文件夹提供
root
|
|---mobile
| |--- assets
| |---js,css,img
|
|---desktop
|--- assets
|---js,css,img
my domain.pl/mobile
内容将从mobile文件夹提供
root
|
|---mobile
| |--- assets
| |---js,css,img
|
|---desktop
|--- assets
|---js,css,img
我在nginx安装文件中尝试过:
server {
root /desktop
location /mobile {
root /mobile
}
location /desktop{
root /desktop
}
}
但它仅适用于/
路径,其余路径返回404
我尝试添加try_files$uri index.html
,但它似乎会为该位置的所有请求返回index.html文件,例如,它也会返回index.html文件而不是javascript
我在建立nginx方面绝对是新手,因此任何帮助都将不胜感激 应避免在
位置块内指定根(参见)
您是否尝试过以下方法:
- 只有一个
根目录
- 默认情况下,使用
rewrite
为/desktop
服务
配置如下所示:
server {
root /;
## this should take care of the redirect to /desktop by default:
location = / {
rewrite ^ /desktop/ redirect;
}
## this one below probably doesn't work:
# rewrite ^/$ /desktop/;
}
另外,我现在无法使用nginx访问机器,因此无法检查重写
语法。另请参见。您需要使用alias
指令而不是root
:请参见
(不要忘记尾随分号)