2
これは私が問題に抱いている問題です。サブドメインを処理するためにホスト要件のルーティングがあります。これは、dev内完璧に動作しますが、これをステージングに関係なく、私は何をすべきか私に同じエラーを繰り返していない:ここでsymfony 3:サブドメインを使ったルーティングはプロダクトでは機能しません
No route found for "GET /login"" at /var/www/app/var/cache/prod/classes.php
は私のルーティングです:
app_front_office:
resource: "@AppFrontOfficeBundle/Resources/config/routing.yml"
prefix: /
host: "%front_office_domain%"
app_back_office:
resource: "@AppBackOfficeBundle/Resources/config/routing.yml"
prefix: /
host: "%back_office_domain%"
のsecurity.yml:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
anonymous: true
form_login:
login_path: app_back_office_security_login
check_path: app_back_office_security_login
logout:
path: app_back_office_security_logout
target: app_back_office_dashboard_index
remember_me:
secret: '%secret%'
lifetime: 2630000
path: app_back_office_dashboard_index
always_remember_me: true
domain: '%cookie_domain%'
user_provider: main_provider
access_control:
- { host: '%back_office_domain%',path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { host: '%back_office_domain%',path: ^/, role: ROLE_ADMIN }
parameters.yml:
cookie_domain: .domain.com
front_office_domain: staging.domain.com
back_office_domain: bo-staging.domain.com
デバッグ:ルータ:
app_front_office_homepage ANY ANY staging.domain.com /
fos_js_routing_js ANY ANY ANY /js/routing.{_format}
app_back_office_dashboard_index GET ANY bo-staging.domain.com /
app_back_office_security_login GET|POST ANY bo-staging.domain.com /login
app_back_office_security_logout ANY ANY bo-staging.domain.com /logout
app_back_office_subscription_plan_list_ajax GET ANY bo-staging.domain.com /subscriptions/list
app_back_office_user_index GET ANY bo-staging.domain.com /users
app_back_office_user_profile GET ANY bo-staging.domain.com /users/profile/{userId}
app_back_office_user_update_field_ajax POST ANY bo-staging.domain.com /users/updateField
app_back_office_user_delete_ajax DELETE ANY bo-staging.domain.com /users/delete/{userId}
app_back_office_user_recover_ajax POST ANY bo-staging.domain.com /users/recover/{userId}
app_back_office_user_list_ajax GET ANY bo-staging.domain.com /users/list
nginxのconfに:私は問題を解決できない場合は、あなたの助けを
server {
listen 443 default_server ssl;
server_name staging.domain.com api-staging.domain.com dashboard-staging.domain.com bo-staging.domain.com;
root /var/www/wapp/web;
ssl on;
ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/domain_com.key;
# ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location/{
try_files $uri /app.php$is_args$args;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/app_error.log;
access_log /var/log/nginx/app_access.log;
}
# HTTP server
server {
listen 80;
server_name staging.domain.com api-staging.domain.com dashboard-staging.domain.com bo-staging.domain.com;
root /var/www/app/web;
location/{
return 301 https://$server_name$request_uri;
}
}
おかげで、私は夢中になる:P
プロードキャッシュをクリアしましたか?あなたのホストにDNSワイルドカードとApache設定があると仮定しました。 –
あなたはどのURLにアクセスしようとしていますか? –
@MehmetSoyluはいキャッシュを消去しました。サブドメインレコードとnginxサーバーがあります。 – Shked0wn