2013-07-13 4 views
0

다음 규칙을 사용하여 연결 .php 파일.php 파일이 없으면 다른 파일로 다시 작성

모든 마지막 디렉토리 경로는 PHP 파일을 연결합니다. 예./내가 /abc.php하는 http://example.com/abc이 포인트를 사용할 때,이 약/또는/약

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

을 /about.php 갈 것 잘 작동합니다. 하지만 이제 더 많은 로직을 원합니다.

/abc.php 파일이 해당 디렉토리에 없으면 /listing.php 파일로 이동하십시오. 내가 할 수 있을까? 제발 도와주세요

나는 단지 루트 디렉토리 http://example.com/..here .. 어떤 하위 디렉토리를 의미 합니다이 필요합니다. 어떠한 제안?

감사

답변

0

이 시도는,이 시험되어야한다 :

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $0\.php !-f //check if (for example) abc.php not exists then 
RewriteRule ^(.*)$ /listing.php 
RewriteRule ^(.*)$ $1.php 

업데이트 : 나는 내 로컬 서버에서이 테스트를, 그주의 : 폴더가 자신의

을 위해 조정할 수 있습니다 테스트입니다
Options All -Indexes 
RewriteEngine on 
RewriteBase /test 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond test\/$0\.php !-f 
RewriteRule ^(.*)$ listening.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ $1.php 
+0

당신의 지원에 감사드립니다. 처음에는 500 오류가 발생했습니다. 그리고 /는 이제 그 두 가지 경우에 대해 동일한 오류를 제공합니다. 날씨 파일은 존재하지 않거나 여기에 코드가 있습니다. ------ - ------------------------------------------ 'RewriteCond % {REQUEST_FILENAME}! -f 한다 RewriteCond % {REQUEST_FILENAME}는! 한다 RewriteCond $ 0 \ .PHP를 -d! -f 한다 RewriteRule^(. *) $ listing.php를 한다 RewriteRule이^(. *) $ $ 1.php' –

+0

내가 오류를 언급하는 것을 잊지 이 서버에서 listing.php.php를 찾을 수 없습니다. –

+0

@Eweb Web site –

관련 문제