2012-07-31 3 views
3

SEF URL을 지원하는 웹 사이트를 개발 중입니다. PHP를 서버 측 언어로 사용합니다. htaccess 기본 코드는 어떻게 작동하는지 알고 있습니다. 하지만 문제는 내가 pht get link를 다시 쓰고 싶은데 htaccess에이 두 링크를 같이 넣어야한다는 것입니다.joomla htaccess가 특정 별칭에 대한 get 메소드를 식별하는 방법은 무엇입니까?

RewriteRule ^sign-in$ index.php?view=signin 
RewriteRule ^register$ index.php?view=register 
RewriteRule ^jobs$ index.php?id=2 

htaccess로와 URL을 자동화하고 대신 수동으로 재 작성 규칙을 추가하는 특정 별칭을 URL로 가능한 방법이 있나요? joomla와 같은 무엇인가? 나는 joomla htaccess가 어떻게 별칭으로 연결되는지 이해하려고 노력했습니다. 그러나 나는 그것이 어떻게 작동하는지 아직도 이해할 수 없었다. 나는 joomla htaccess가 기사 별칭과의 관계를 만드는 방법을 알 수 없습니다. 도와주세요. 미리 감사드립니다.

답변

3

idview이 어떻게 보이는지에 비해처럼 보이는 방법에 대한 차이가없는 경우는 (귀하의 예제에서, registerviewjobsid=2입니다), 당신은 하나를 수행하거나 개별적으로 다른 :

RewriteEngine On 

# all id's here: 
RewriteRule ^jobs$ index.php?id=2 [L] 
RewriteRule ^something-else$ index.php?id=3 [L] 
RewriteRule ^another$ index.php?id=4 [L] 

# this will do all views 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?view=$1 [L] 

편집 : 외부를 통해 이러한 매핑을 수행해야하는 경우

의 의견은 그냥이 일을 시도 할 수 있었다 "자동화"를 별칭 세트를 보려면 RewriteMap directive을 살펴 봐야합니다. 지도를 설정하려면 서버 또는 vhost 구성 설정에 액세스해야하지만 규칙은 htaccess 파일에 남아있을 수 있습니다. 등

jobs id=2 
another id=3 
sign-in view=sign-in 
register view=register 

이 ...

당신은 가상 호스트에 (A RewriteMap에를 설정하여 그 매핑을 사용할 수 있습니다

당신처럼 보인다 "joomla_maps.txt"라는 텍스트 파일을 말해봐/서버 설정) 당신의 htaccess로의

RewriteMap joomla txt:/path/to/joomla_maps.txt 

이상 :

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?${joomla:$1} [L] 

RewriteMap 문서를 살펴보고 스크립트 실행 또는 dbm 해시 맵 사용과 같은 다른 종류의지도 예제를 얻으십시오.

+0

감사합니다. jon Lin. 하지만 내가 원하는 것은 htaccess 파일에 모든 것을 추가하는 것 외에 데이터베이스에서 별칭을 가져올 수있는 방법을 찾고 있습니다. 예를 들어, joomla는 내가 찾는 방법을 사용합니다. 그 방법을 내 사이트에 구현하는 방법을 이해할 수 없습니다. Joomla는 htaccess에 모든 기사 별칭과 기사 ID를 넣지 않습니다. 그들은 또 다른 방법을 사용합니다. 데이터베이스에서 기사 ID, 별칭을 가져온 것 같습니다. 문제는 htaccess와 별칭 및 특정 문서 ID를 사용하여 관계를 만드는 방법입니다. 내가 그들의 방법을 안다면 나는 내 문제가 그것을 해결할 것이라고 생각한다. 다시 한번 감사드립니다. –

+0

@ KasunMalith'RewriteMap' 사용에 대한 세부 사항을 포함하도록 답을 편집했습니다 –

+0

고마워요. 나는 이것을 시도했다. 그러나 항상 오류. 여기 마지막 질문입니다. Joomla가 RewriteMap을 사용하지 않는 것 같습니다. joomla htaccess 파일에서 유사한 코드를 찾을 수 없기 때문입니다. 아는 경우 데이터베이스에서 별칭을 가져 와서 htaccess와 연결하는 데 사용하는 방법이 무엇인지 말해주십시오. 감사합니다. –

관련 문제