2014-09-13 4 views
0

.htaccess로 페이지 URL을 다시 쓰려고합니다. 이 같은 링크 (mysite.com/page.php -> mysite.com/page) 변환하고자하는 이 내가 같은 요구 사항을 이전 사이트에서 사용했던 코드가URL을 .htaccess로 다시 작성

RewriteEngine on 
RewriteCond /%{REQUEST_FILENAME}.php -f 
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php 

하지만 mysite.com/page에 액세스하려고하면 mysite.com/page.php가 페이지를 표시하는 404 페이지로 넘어갑니다.

어딘가 설정을 놓친 사람이라면 누구든지 설명 할 수 있습니까? 내가 사이트의 루트 디렉토리에 htaccess로 파일을 배치하고, 당신이 %{DOCUMENT_ROOT}/$1\.php를 사용하는 것이 좋습니다

+0

가'''/''제거 시도'한다 RewriteCond의 시작? – MrTux

답변

1

대신의 방법으로 당신이 거기에 불필요한 /%{REQUEST_FILENAME}를 사용하여 644로 권한을 설정, 여기에 예입니다 :

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

## To internally redirect /anything to /anything.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^([^/]+)$ $1.php [L] 

또한 규칙에 당신이 다시 문제가 원인이 /page을 잡으려면 것처럼 /$ 있습니다.

/을 선택적으로 만들려면 /?으로 만들 수 있습니다.

.htaccess는 다음과 같이한다 고정 귀하의 :

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([a-z0-9_-\s]+)/?$ /$1.php [NC,L]