2017-05-04 1 views
0

제품 환경에서 symfony 앱을 사용하고 있는데 app.php없이 실행되지 않는 이유를 알 수 없습니다. 예를 들어 mydomainname을 사용하면 홈 페이지를 볼 수 있지만 다른 경로는 404 오류가 나타나지 않지만 app.php (mydomainname/app.php/register)를 사용하여 다른 경로를 예를 들면 숫자로 표시하면 완벽하게 실행됩니다. 내 httpd.conf 파일입니다 : 내가 예를 들어 경로 레지스터가있는의 error_log 파일에서symfony url (app.php 제외)

ServerRoot "/etc/httpd" 

Listen 80 

LoadModule rewrite_module modules/mod_rewrite.so 

Include conf.modules.d/*.conf 

User myuser 
Group psacln 

ServerName mydomainname:80 

<Directory /> 
    AllowOverride none 
    Require all denied 
</Directory> 

DocumentRoot "/var/www/vhosts/myexample.com/httpdocs/web" 

<Directory "/var/www"> 
    AllowOverride None 
    # Allow open access: 
    Require all granted 
</Directory> 

<Files ".ht*"> 
    Require all denied 
</Files> 

ErrorLog "logs/error_log" 

LogLevel warn 

<IfModule log_config_module> 
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
    LogFormat "%h %l %u %t \"%r\" %>s %b" common 

    <IfModule logio_module> 
     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 
    </IfModule> 

    CustomLog "logs/access_log" combined 
</IfModule> 

<IfModule alias_module> 
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 

</IfModule> 

<Directory "/var/www/cgi-bin"> 
    AllowOverride None 
    Options None 
    Require all granted 
</Directory> 

<IfModule mime_module> 
    TypesConfig /etc/mime.types 

    AddType application/x-compress .Z 
    AddType application/x-gzip .gz .tgz 

    AddType text/html .shtml 
    AddOutputFilter INCLUDES .shtml 
</IfModule> 


<IfModule mime_magic_module> 
    MIMEMagicFile conf/magic 
</IfModule> 

EnableSendfile on 

IncludeOptional conf.d/*.conf 
GracefulShutDownTimeout 3 
AddOutputFilter INCLUDES .shtml 
AddType text/html .shtml 
AddType application/x-httpd-php .php 
AddType application/x-httpd-php-source .phps 

<VirtualHost *:80> 

     CustomLog /var/log/httpd/myexample.com-access.log combined 
    ErrorLog /var/log/httpd/myexample.com-error.log 
     ServerName myexample.com 
    ServerAlias mydomainname 
     DocumentRoot /var/www/vhosts/myexample.com/httpdocs/web 
    <Directory /var/www/vhosts/myexample.com/httpdocs/web> 
       DirectoryIndex app.php 

     AllowOverride None 
       Order Allow,Deny 
       Allow from All 
      <IfModule mod_rewrite.c> 
        Options -MultiViews 
        RewriteEngine On 
        RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f 
        RewriteRule^/app.php [L] 
      </IfModule> 

    </Directory>  
</VirtualHost> 

: mod_rewrite에 내가 아파치의 -M 명령을 실행하기 때문에 경우에

[Tue May 02 16:45:55.666829 2017] [rewrite:trace3] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d4006440/initial] applying pattern '^(.*)$' to uri '/register/', referer: h t t p s : //mydomainname/ 
[Tue May 02 16:45:55.666870 2017] [rewrite:trace4] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d4006440/initial] RewriteCond: input='mydomainname' pattern='^mydomain\\.com$' [NC] => not-matched, referer: h t t p s : //mydomainname/ 
[Tue May 02 16:45:55.666886 2017] [rewrite:trace1] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d4006440/initial] pass through /register/, referer: h t t p s : //mydomainname/ 
[Tue May 02 16:45:55.670388 2017] [rewrite:trace2] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d401c1a0/initial/redir#1] init rewrite engine with requested uri /error_docs/not_found.html, referer: h t t p s : //mydomainname/ 
[Tue May 02 16:45:55.670403 2017] [rewrite:trace3] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d401c1a0/initial/redir#1] applying pattern '^(.*)$' to uri '/error_docs/not_found.html', referer: h t t p s:// mydomainname/ 
[Tue May 02 16:45:55.670410 2017] [rewrite:trace4] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d401c1a0/initial/redir#1] RewriteCond: input='mydomainname' pattern='^mydomain\\.com$' [NC] => not-matched, referer: https://mydomainname/ 
[Tue May 02 16:45:55.670414 2017] [rewrite:trace1] [pid 29165:tid 140058380187392] mod_rewrite.c(470): [client 132.64.127.101:54785] 132.64.127.101 - - [mydomainname/sid#7f6204b70c60][rid#7f61d401c1a0/initial/redir#1] pass through /error_docs/not_found.html, referer: https://mydomainname/ 

이있다 라인 (공유)

rewrite_module는

내 서버입니다 :

서버 버전 : Apache/2.4.6 (CentOS)

해결하려면 어떻게해야합니까?

고마워요.

+0

아무도 도와 줄 수 있습니까? 나는 방향 만 필요하다. – Massimiliano

답변

1

@Massimiliano

한 번 같은 문제가있었습니다. 웹 폴더에 .htaccess 파일을 추가하여 수정했습니다. htaccess로 파일
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php/$1 [QSA,L] </IfModule>

REFERENCE LINK HERE에 추가

보십시오.

그리고 이와 같은 가상 호스트. 예를 들어 I 숫자 다른 경로가
을 app.php 사용하는 경우

<VirtualHost *:80> DocumentRoot /var/www/html/symfony_site/web DirectoryIndex app.php <Directory /var/www/html/symfony_site/web > AllowOverride All Allow from All </Directory> </VirtualHost>

내가 mydomainname을 사용하는 경우, 예를 들어 나는 홈 페이지를 볼 수 있지만, 다른 경로를 찾을 수 없습니다 오류 (404)에 이동하지만, => .htaccess 파일을 추가하면 문제가 해결됩니다.