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