Maison > Questions et réponses > le corps du texte
J'ai maintenant besoin de faire de l'optimisation SEO. Le code utilise le framework Yii. Maintenant, je dois changer certains des liens longs d'origine en liens courts. J'ai deux idées pour cela. La première est de faire un saut 301 en PHP, et l'autre est Lorsque vous faites 301 dans le fichier de configuration nginx, le problème se pose : je n'arrive pas à le faire correspondre à l'emplacement du fichier de configuration nginx. Par exemple, le lien d'origine est xxx.bbb.ccc/index.php?r=pc ? /index/index, utilisez maintenant xxx .bbb.ccc/index, comment faire correspondre cela ?
黄舟2017-07-01 09:14:11
Selon vous, cela ne devrait-il pas être pour visiter xxx.bbb.ccc/index
-> xxx.bbb.ccc/index.php?r=pc/index/index
?
Dans ce cas, il n'est pas nécessaire de faire correspondre ?
.
Écrivez simplement rewrite
les règles
rewrite ^/index$ /index.php?r=pc/index/index last;
Si c'est l'inverse, utilisez if
pour le juger
Par exemple :
server {
server_name test.dev;
location / {
if ($request_uri ~ '/index.php\?r=pc/index/index') {
return 301 http://test.dev/index;
}
}
}
Résultats des tests :
> curl -I 'http://test.dev/index.php?r=pc/index/index'
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3
Date: Fri, 30 Jun 2017 09:04:12 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: http://test.dev/index