2012-06-14 4 views
-3

.htaccess abc.com/test.php을 사용하여 abc.com/test으로 리디렉션하고 싶습니다. test.php의 내용 만 실행/표시합니다.htaccess를 사용하여 리디렉션 문제

어떻게해야합니까? 어떤 제안?

+0

당신이 다른 방법으로 주위를 의미하지 않는다 완전한 리디렉션을 시도? 다른 사람이 브라우저 http://abc.com/test에 test.php 내용을 표시하고 싶다면? –

+0

[.htaccess를 .php URL 확장명을 숨기려면 어떻게 사용할 수 있습니까?] (http://stackoverflow.com/questions/10028025/how-can-i-use-htaccess-to-hide-php-url- 내선 번호) – Quentin

+0

당신이 현재 시도하고있는 것을 볼 수 있도록 현재 시도의 예를 제공해 줄 수 있습니까? @RobForrest가 맞다고 생각하지만 코드를 보면 확실하게 알 수 있습니다. –

답변

2

RewriteRule ^test$ test.php [L] 

[업데이트]

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME}/ -d 
RewriteCond %{SCRIPT_FILENAME}.php !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] 
RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule ^(.+)\.php$ /$1 [R=301,L] 
RewriteCond %{SCRIPT_FILENAME}.php -f 
RewriteRule [^/]$ %{REQUEST_URI}.php [QSA,L] 
+0

데이빗 (David)이 그의 대답에서했던 것처럼 QSA 플래그를 추가 할 것이므로 잠재 쿼리 문자열도 추가 될 것입니다. – Havelock

+0

'abc.com/test'는'abc.com/test.php'의 내용을 표시 할 것이지만'abc.com/test.php'는'abc.com/test'로 리다이렉트해야합니다. – user985361

+0

@ user985361 내 대답을 더 잘 업데이트했습니다. 코드 – Sena

1

이 작업은 리디렉션이 아닌 다시 쓰기 규칙을 사용하여 수행됩니다. 이런 식으로 뭔가 :

RewriteEngine On 
RewriteRule ^/test.php$ /test [L,QSA] 
관련 문제