我有:
- nginx 服务器
- 基于 joomla 的网站
在服务器块中像这样重写
location / { # Support Clean (aka Search Engine Friendly) URLs try_files $uri $uri/ /index.php?$args; }
这会产生“类似 sef”的链接 /abb/aaa/ccc
我现在想要的是制作短网址的地图(那些重写链接)
像这样:
map @rewrite_url $rewrited_url {
/a /abb/aaa/ccc
/b /aaa/adddd/aaa
}
并应用此地图
编辑:
在 location/try_files 中:
/index.php?q=$request_uri;
制作 joomla url:
/index.php?bla=1&blab=2 ===> like "/aaa/aaa/aaa" - > without ?,& and =
并且我想将此友好链接制作成包含地图的简短形式以供使用:
/a instead of /bla/bla/comelink
/b instead of /bla/aaa/someotherlink
示例(别名):
/changelog /some/adres/to change-log/on/joomla/page
答案1
好吧,我设法找出了它不起作用的原因,这是因为重写地图基址的拼写错误
我的问题的解决方案是:
#redirect.map file content
/target /destination/link;
#nginx http + server block
map $request_uri $new_uri {
include snippets/redirect.map;
}
server {
location $reguest_uri {
if ($new_uri) {
return 301 $new_uri;
}
}
}