로컬 Linux 서버에 apache2를 설치했습니다. 여기에는 pcts.local
라는 가상 호스트가 있으며 루트 디렉터리는 /var/www/repos/pcts/
입니다. pcts.local의 루트에는 다음과 같이 지정되지 않은 경우 .php를 포함하도록 URL을 다시 작성하려고 시도하는 .htaccess 파일이 있습니다.
http://pcts.local/ -> http://pcts.local/index.php http://pcts.local/contact -> http://pcts.local/contact.php
문제는 http://pcts.local/contact
에서 오류 404가 발생하지만 http://pcts.local/contact.php
200개 중.
서버 이름 pcts.local ServerAdmin webmaster@localhost DocumentRoot /var/www/repos/pcts 오류 로그 ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log 결합
/var/www/repos/pcts/
RewriteEngine 켜기 RewriteBase/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ $1.php [NC,L]
도움을 주셔서 미리 감사드립니다!
코드에서 REQUEST_FILENAME에 재작성을 수행하려면 PHP 확장자를 가진 파일이 필요합니다.
이것을 시도해 보세요:
으아악이것이 전체 구성인 경우
.htaccess
파일이 처리되지 않습니다.특정 디렉터리에 대한 재정의를 활성화
파일 구문 분석을 활성화하지 않았습니다.) 기본적으로.htaccess
覆盖。 (即,您尚未启用.htaccess
文件的解析。)默认情况下,.htaccess
하지 않았습니다. (즉,재정의는 비활성화되어 있습니다.
그런데 파일 시스템의 이 영역에도 액세스를 허용하지 않으셨나요? 서버 구성의 다른 곳에서 이 작업을 수행했습니까? !
容器内有一个相关的
다음과 같이섹션에 있어야 합니다.
필요한 경우.htaccess
으아악재정의를 추가로 제한할 수 있습니다(아래 참조 링크 참조)
참조: https://httpd.apache.org/docs/2.4 /mod/core.html#allowoverride