4

URL을 다시 쓰려면 .htccess 파일을 사용하고 있습니다. .htaccess 파일에 다음 규칙을 사용하고 있습니다.URL 재 작성 사용 중 문제 (상대 경로가 작동하지 않음)

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^product/([0-9]+)/([A-Za-z0-9+]+)$ /product.php?productid=$1&prodname=$2 

다시 작성하면 정상적으로 작동합니다.

그러나 상대 경로를 통해 다른 페이지에 액세스하려고 시도하는 경우 URL이 제대로 리디렉션되지 않습니다. 내가 클릭 제출

<form action "something.php" method="post"> 
    <input type="text" name="1" /> 
    <input type="submit" value="submit" /> 
</form> 

가,로드되는 페이지가 따라서 존재하지 않는 http://mydomain/product/1/something/something.php하고 아래의 예에서

처럼 내가 기본 태그를 사용하여 시도 404 오류

를 던졌습니다 머리 그러나 이것은 페이지 앵커 및 모달 창을 사용하는 동안 문제를 만듭니다. 인덱스 페이지로 리디렉션됩니다.

추가 세부 정보가 필요하면 알려주십시오.

나는 이것에 상당히 새롭다. 그래서, 누군가 이걸로 나를 도울 수 있을까? 사전에

감사합니다, Kartik

+0

정말 전체 .htaccess 파일입니까? 메인 아파치 설정에 접근 할 수 있다면 mod_rewrite 로깅을 활성화하여 그러한 문제를 디버깅 할 수 있습니다. –

+0

예. 나는 방금 하나를 구현했습니다. – gnanesh

답변

3

이것은 URL 해결하는 문제입니다. 자세한 내용은 mod_rewrite URL info required을 참조하십시오. 모든 상대 URL이 해당 URL에서 해결이 아니라 현재의 URL되도록 (BASE HTML element 참조)

<form action="/something.php" method="post"> 
<form action="http://example.com/something.php" method="post"> 

아니면 기본 URL을 변경 :

당신은 절대 URL 경로 또는 절대 URL을 사용할 수 있습니다

<base href="/"> 
<base href="http://example.com/"> 
0

간단하고 쉬운 버전은 'something.php'뿐만 아니라 양식 액션에서 /something.php의 절대 경로를 지정하는 것입니다.