.htaccess
내 파일의 루트에 다음 코드가 있습니다 .우분투 22.04사례:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]*)$ /profile.php?user=$1 [L]
내 목표는 다음을 사용하는 것입니다.
example.com/profile/johndoe
다음 출력 URL을 얻으려면:
example.com/profile.php?user=johndoe
하지만 작동하지 않습니다 :(
mod_rewrite
켜져 있다
내 apache2.conf
모습은 다음과 같습니다.
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
내가 뭘 잘못하고 있는지 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다.
답변1
.htaccess
에 파일을 넣어볼 수 있습니다 /var/www/html/
. 귀하의 문제는 아마도 권한과 관련이 있을 것입니다. 자세한 내용은 /var/log/apache2/access.log
로그인 을 확인하세요 ./var/log/apache2/error.log
또한 루트 파일 시스템에 대한 액세스를 허용하지 마십시오. 이는 보안 문제입니다. 그러니 바꿔라
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
에게
<Directory />
Options FollowSymLinks
Require all denied
</Directory>