URL 다시 쓰기에 문제가 있습니다..htaccess 파일의 여러 다시 쓰기 규칙
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^blog\/$ /blog.php [L]
RewriteRule ^blog\/[a-zA-Z0-9\-]+\/([0-9]+)-([0-9]+)\/$ /blog.php?action=listposts&categoryid=$1&page=$2 [L]
RewriteRule ^blog\/featured\/([0-9]+)\/$ /blog.php?action=listposts&categoryid=featured&page=$1 [L]
RewriteRule ^blog\/[a-zA-Z0-9\-]+\/([0-9]+)\/[a-zA-Z0-9\-]+\/$ /blog.php?action=viewpost&postid=$1 [L]
</IfModule>
나는 이유는 모르겠지만, 그것은 작동하지 않습니다
여기 내 htaccess로 파일처럼 보이는 방법입니다. 예를 들어 blog/my-category/1-5/
과 같은 URL로 이동하여 $_GET
을 인쇄하면 키가 없습니다. URL이 blog/
인 것 같습니다. 이 질문은 유감 스럽지만 중복되는 경우가 많습니다.하지만 어떻게 해야할지 잘 모릅니다. 다른 사람의 질문에 대한 해결책을 기반으로 문제가 무엇인지 이해할 수 없을 것입니다.
당신은 제 '탈출 습관'에 관한 것 같습니다. 내 재 작성 명령을 고쳐 주셔서 고마워, 그들은 지금 일하고있다. 그러나 나는 리디렉션하는 파일이 'blog.php'라고 불리지 않을 때에 만 그렇게한다. 이 주변의 어떤 방법? 내 아파치 설정과 관련이 있어야한다. –
@MatejGolian 아마도 '% {REQUEST_FILENAME} -f'라는 어딘가에 RewriteCond가있을 것이다. 기본 파일로 리디렉션하도록 지시하는 다음 규칙 중 하나입니다. –
불행히도 .htaccess 파일에는 그러한 명령이 없습니다. 내가 게시 한 코드는 모두 포함되어 있습니다. 하지만 예를 들어 'asd'또는 'asd /'또는 'asd/anything'을 주소 표시 줄에 입력하고 .htaccess 파일이있는 디렉토리에 'asd.php'라는 파일이 있으면 'asd.php'의 내용을 얻으십시오. Options + FollowSymlinks 또는 다른 것과 관련이 있습니까? 이것이 내가 'blog.php'로 리다이렉트 할 수없는 이유 인 것 같다. –