2016-07-01 8 views
1

mod 재 작성을 사용 해 본 적이 없으며 구현 방법을 가장 잘 이해하고 있습니다. .php 확장자를 제거합니다. 내가 링크 습관을 domain.com/index.php하는 경우 내가 링크 domain.com/를 할 경우이 또한Mod Rewrite Logic

을 domain.com/index 쓰기 다시 것을

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

문제가이 코드를 발견 사람이 여전히 .php를 추가 할 수 있으며 여전히 잘 작동합니다.

나는 적절한 방법을 알고 싶습니다. HTML 코드를 하드 코딩해야하나요, 아니면 자동으로 할 수있는 것이 있습니까?

나는 그들이 당신은 .php을 제거하기 위해 추가 규칙을 필요로하는 최종

+0

가능한 중복 (http://stackoverflow.com/questions/10028025/how-can-i -use-htaccess-to-hide-php-url-extensions) – ldg

+0

두 조건을 모두 허용해야합니다. 중복 답변을 참조하십시오. ".php"확장자를 숨기는 것이 php를 난독 화하는 것이라면, 대신에 404를 고려하거나 모든 확장을 기본 경로로 라우팅 할 수 있습니다. 그것은 URL을 prettify하는 경우, [이] (http://stackoverflow.com/questions/10028025/how-can-i-use-htaccess-to-hide-php-url-extensions) 작동합니다. – ldg

답변

0

에 .PHP를 추가 할 수 있도록 해달라고. 당신이 사용하고있는 규칙은 확장자없이 php 파일에 접근 할 수있게하지만 확장자는 제거하지 않습니다. .php를 제거하려면 다음을 사용할 수 있습니다 [? 어떻게 내가 URL 확장을 .PHP 숨길 htaccess로 사용할 수 있습니다]

RewriteEngine on 
#1) redirect "/file.php" to "/file" 
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC] 
RewriteRule^/%1 [L,R,NE] 
#2) internally map "/file" back to "/file.php" 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
+0

starkeen 어떻게하면 http : //localhost/site/profile/member.php? user = 1308에서 http : // localhost/site/profile/1308로 추가 할 수 있습니까? – Amoro