2014-01-16 3 views
0

내가 간단하게 할 노력하고 있어요 :htaccess로 문제를 해결하는 방법

내가 코드를 다음 사용하고있는 파일의 확장자를 .PHP 제거 할 그것은 또한

#for hiding.php extension 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule ^(.*)$ $1\.php 
############################-------- END ---------######################## 

을하고있다 나는이 링크가 링크되어야하는 화면에 $ _GET 매개 변수를 보여주고 싶습니다. localhost/somepage.php? para = 123 의 표현이며, 또한 잘 작동하는 다음 코드를 사용하고 있습니다.

#for parameter Display 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule (.*)$ somepage.php?para=$1 
    ############################-------- END ---------######################## 

문제점 :이 코드는 같은`.htaccess` 파일에 함께 쓰여지지 않을 때 잘 동작합니다. 그러나 함께 쓰여졌을 때 그리고 localhost/login을 사용하여 로그인 페이지에 액세스해야하는 경우. .htaccess는 매개 변수 값을 얻기 위해 login을 처리합니다. 이 문제에 대한 해결책은 무엇입니까?

+0

시도, [L]을 – Notflip

+0

당신이 나에게 예를 제공시겠습니까 중단을 의미합니다 .. –

답변

0

이 코드를보십시오 : 당신이 일치하는 항목을 찾을 경우 모든 RewriteRule의 뒤에 [L]을 추가

RewriteEngine On 

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)$ somepage.php?para=$1 [L,QSA] 
+0

아니 ... 아니 좋았어. –

+0

URL이 작동하지 않았습니까? – anubhava

+0

localhost/login을 사용했을 때 login.php 페이지로 리디렉션하지 않고 화면에'login'을 표시하고 있습니다 .. –

관련 문제