.htaccess 다시 쓰기가 작동하지 않습니까?

.htaccess 다시 쓰기가 작동하지 않습니까?

/etc/apache2/vhosts.d/ip-based_vhosts.conf에 다음과 같은 가상 호스트가 있습니다.

<VirtualHost test.local:80>
ServerAdmin [email protected]
ServerName test.local
DocumentRoot /home/web/test.net/html

ErrorLog /var/log/apache2/test-error.log
CustomLog /var/log/apache2/test-access.log combined

HostnameLookups Off
UseCanonicalName Off
ServerSignature On

<Directory "/home/web/test.net/html">
  Options Indexes FollowSymLinks
  AllowOverride All

  <IfModule !mod_access_compat.c>
  Require all granted
  </IfModule>
  <IfModule mod_access_compat.c>
  Order allow,deny
  Allow from all
  </IfModule>
  DirectoryIndex index.php
</Directory>
<IfModule proxy_fcgi_module>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/web/test.net/html/$1
 </IfModule>
</VirtualHost>

/home/web/test.net/html에는 다음이 있습니다.

.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

index.php

<?php echo $_SERVER['REQUEST_URI']; ?>

내가 방문할 때http://test.local"/"가 올바르게 표시됩니다(따옴표 제외).

하지만 내가 다음과 같은 다른 것에 액세스하면http://test.local/abc"/abc" 대신 404 페이지가 표시됩니다.

이 문제가 제대로 작동하도록 수정하려면 어떻게 해야 합니까?

답변1

다음 사항을 확인해야 합니다.

  • 파일에 .htaccess적절한 권한이 있습니까 ?
  • mod_rewrite활성화 여부

관련 정보