mod_rewrite를 사용하는 데 어려움을 겪고 있습니다. 나는 약 1 시간의 인터넷 검색을하고 있었지만 아무 것도 작동하지 않는 것으로 보인다. 내가 뭘 원하는 example.com/species
및 example.com/species/frog로도
example.com/species.php?name=frog에 변화
example.com/species.php입니다. 내가 example.com/species/frog로 표시 example.com/species.php?name=frog을 얻을 수 있고,Mod_Rewrite to/subdirectory// subdirectory/query
RewriteRule ^species/ /species.php
와 내가 예를 얻을 수
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^species/(.*)$ /species.php?name=$1
를 사용
.com/species.php를 example.com/species/로 표시 할 수는 있지만 동시에 둘 다 작업 할 수는 없습니다.
또한 후행 슬래시가없는 example.com/species는 항상 404로 표시됩니다.
나는 어떤 문제를 잡기 위해/species/디렉토리를 만든다고 생각했지만 차라리 한 종에 대해 몇 가지 규칙을 사용하고 싶습니다. .php 파일. 어떤 도움이라도 기꺼이 감사 할 것입니다! (나는 8 시간 이상 내 자신의 질문에 대답 할 수 없기 때문에)
편집 :
나는 내 문제를 모두 해결 한 것으로 보인다. 두 번째 RewriteRule의 성공적 동시에 작동 다른한다 RewriteRule을 유지하면서 example.com/species.php하는 example.com/species를 리디렉션
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^species/(.*)$ /species.php?name=$1
RewriteRule ^species/?$ /species.php
: 나는 내 htaccess로 변경.
그러나 example.com/species/에 후행 슬래시를 입력하면 example.com/species.php?name=으로 읽히고 이름이 제출되지 않아 오류가 발생하므로
if(isset($_GET['name']) && empty($_GET['name'])) {header('location: http://example.com/species');}
그래서 example.com/species/를 사용하면/species로 리디렉션되어 원하는대로 작동합니다.