2016-08-09 3 views
0

htaccess 파일의 다시 쓰기 규칙에 문제가 있습니다. 도와주세요.htaccess 다시 쓰기 규칙이 작동하지 않습니다.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /product-project/ 
RewriteRule . index.php [L] 
</IfModule> 

지금 나는 그런에 "제품/프로필? PROFILE_ID = ID를"리디렉션해야 "제품/카테고리/ID가"로 재 작성 규칙을 만들려면 내 현재 htaccess로 파일입니다. 이것을 위해 나는 어떤 방법으로도 잘 작동하고있다.

RewriteRule ^product/.*/(.*)$ product/profile?profile_id=$1 [L,R] 

어떤 식 으로든 정상적으로 작동한다.

첫 번째 문제 - 제대로 리디렉션되지만 URL도 변경됩니다. id를 10으로 사용하면 "product/category/10"으로 유지되어야합니다.하지만이 방법을 사용하면 제대로 리디렉션되지만 URL이 "product/profile? profile_id = 10"으로 변경됩니다. [L, R] 대신에 [L, P]를 사용하기 위해 어딘가 읽었지 만 서버 오류로 제공하고 있습니다.

두 번째 문제 -> 이제 "product/id"와 같은 새로운 다시 쓰기 규칙을 만들고 "product/profile? profile_id = id"로 리디렉션해야합니다. 이를 위해 나는 지금이 서버 오류를

3 문제를 보여주는 & 작동하지 않습니다

RewriteRule ^product/(.*)$ product/profile?profile_id=$1 [L,R] 

를 사용했다 -도 리디렉션해야합니다 예 : "/ ID가"나는이 또한 새로운 재 작성 규칙을 만들 수>에 "제품/프로필? profile_id = id ". 이것이 가능한가 ?

4th 문제 -> "/ id1/id2"와 같은 새로운 다시 쓰기 규칙을 "product/profile? profile_id = id1 & serial_id = id2"로 리디렉션해야 할 수도 있습니다. 이것이 가능한가 ?

미리 감사드립니다.

답변

1

는 확인하시기 바랍니다 원하는이입니다. ?>이 localhost로 리디렉션해야/제품 프로젝트/제품/프로필 PROFILE_ID = -

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ $1/$2?profile_id=$3 

이드의

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ $1/$2?profile_id=$3&id=$4 
1

을 사용 ..

Options All -Indexes 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

하지 내가 로컬 호스트/제품 프로젝트/제품를 입력 working..When/10 10. & localhost/product-project/10을 입력하면 localhost/product-project/product/profile? profile_id = 10으로 리디렉션해야합니다. –

관련 문제