我在我的URL(这是不理想的)双斜杠。
所以我的应用程序是/ / //signup
。
错误信息:
Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET //signin""
无论如何改变它只是/signup
?
我已经尝试了下面的第一个位置块(这是一个捕获代理)。
也许沿着…的路线
location /apps/phpauthentication/1 { rewrite ^\//(.*)/$ /$1 break; try_files $uri /app_dev.php$is_args$args; if (!-e $request_filename) { rewrite ^/(.*)$ /app_dev.php last; } }
完整configuration:
server { listen 80; server_name localhost; root /srv/http/web; index app_dev.php index.php index.html; location /apps/phpauthentication/1 { rewrite ^\//(.*)/$ /$uri permanent; try_files $uri /app_dev.php$is_args$args; if (!-e $request_filename) { rewrite ^/(.*)$ /app_dev.php last; } } location ~ ^/(app_dev|config)\.php(/|$) { fastcgi_pass app:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param APP_ENV dev; include fastcgi_params; } location ~ \.php$ { fastcgi_pass app:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param APP_ENV dev; include fastcgi_params; } }
谢谢 :)
在处理以下内容时,我已经成功地在后端更改了URI。
location /apps/phpauthentication/1 { rewrite ^(.*)//(.*)$ /$1/$2 permanent; ##First matches double slash and rewrites try_files $uri /app_dev.php$is_args$args; ##URI is now /apps/1/signup if (!-e $request_filename) { rewrite ^/(.*)$ /app_dev.php last; ## Matches all request that pass from above }
现在,浏览器中的URL永远不会改变,但后台服务器现在似乎有一个有效的路径。