2013-06-05 3 views
0

예를 들어 www.mydomain.com/about.php를 www.mydomain.com/about으로 만들고 싶습니다. 일부 블로그 읽기를 바탕으로 .htaccess rewrite = 404 페이지

, 내 httpd.conf에

<Directory "var/www/mydomain"> 
Options Indexes FollowSymLinks Includes ExecCGI 
AllowOverride All 
Allow from all 
Order allow, deny 
RewriteEngine On 
</Directory> 

내 htaccess로 파일

Order deny,allow 
DirectoryIndex index.php 

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^/]+)/$ $1.php 
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ /$1/ [R=301,L] 

www.mydomain.com/about.php에 어떤 여기

여전히 작동하지만/about에는 404 URL Not Found 페이지가 있습니다.

위의 구성에 문제가 있습니까? 마지막 줄에

답변

0

는 시도 :

RewriteRule ^(.*)$  $1.php [L] 

합니다 (^주의 및 제거 R = 301)가 작동하지 않는 경우

, 당신의 .htaccess 파일에 이전의 모든 라인을 제거하려고합니다. 오직 RewriteEngine On 만 보관하십시오.

+0

P 두 시도 모두 404 개의 URL을 찾을 수 없음 페이지가 표시되었습니다. – hangee

+0

죄송합니다. 코드를 편집했습니다. 다시 시도해보기 –

+0

여전히 404 페이지를 보여줍니다. – hangee

0

첫 번째 두 개의 RewriteRules는 이름 뒤에 /가 마지막 문자로 있어야합니다. 이 옵션을 다음과 같이 설정하려고합니다.

RewriteRule ^([^/]+)/?$ $1.php 
RewriteRule ^([^/]+)/([^/]+)/?$ /$1/$2.php 

이것이 첫 번째 다시 쓰기 그룹에서/about과 일치하지 않는 이유 일 수 있습니다. 나는 두 번째 다시 쓰기 그룹에서 뭔가 다른 것을하려고 노력하고 있다고 가정하지만, (힌트 : 당신이하고있는 것에 대한 2 점이 매우 도움이 될 것입니다.) 명확하지 않습니다.