저는 .htaccess와 mod_rewrite가 새로 도입되었습니다. 특정 URL로 친숙한 URL을 준비 할 수 있습니다. 그러나 나는 모든 것을 나를 위해 통일시킬 하나를 만들고 싶습니다.PHP .htaccess apache mod_rewrite를 하나의 변수로 통합했습니다.
예 :
Original : http://www.domain.com/index.php?module=profile&id=1.
SEO : http://www.domain.com/profile/1
.htaccess Code: RewriteRule ^profile/(.*) ?module=profile&id=$1 [L]
당신은 내가 profile
및 .htaccess
파일의 다른 모듈 이름을 지정해야 볼 수 있듯이 나는이하고 싶으면 무엇
;
Original : http://www.domain.com/?request=module/profile/id/1/other/any
SEO : http://www.domain.com/module/profile/id/1/other/any
그러나 mod_rewrite의 동일한 논리는 적용되지 않습니다.
RewriteRule ^(.*) ?request=$1 [L]
이 문제가 해결 되었습니까?
내 전체 .htaccess;
# Disable server signature
ServerSignature Off
####################################################################
# MOD REWRITE
####################################################################
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
RewriteRule (.*) /index.php?request=$1 [L]
</IfModule>
이 방법으로 문제없이 사용할 수 있습니다. 작업 버전
# Disable server signature
ServerSignature Off
####################################################################
# MOD REWRITE
####################################################################
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase/
RewriteRule (.*) index.php?request=$1 [L]
</IfModule>
# Disable server signature
ServerSignature Off
####################################################################
# MOD REWRITE
####################################################################
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
RewriteRule ^/ index.php [L]
RewriteRule ^content/(.*) ?module=content&request=$1
</IfModule>
그러나 나는 아직도이어야 한 가지를 지정해야합니다.
도움 주셔서 감사합니다.
편집 다야 2
RewriteRule (.*) index.php?request=$1 [L]
:
감사합니다. 그러나이 500 내부 서버 오류가 발생합니다. 전체 .htaccess 파일을 추가했습니다. 어쩌면 나는이 규칙 앞에 잘못 sth 않습니다. 나를 올바른 방향으로 인도 할 수 있다면 기쁠 것입니다. 내가 superglobals에 들어 가지 않는 것을 선호하지만 정보에 감사드립니다. – Revenant
마지막으로''이 잘못 배치 된 경우'# GZIP' 주석 바로 앞에 붙여 넣으십시오. – aefxx
내가 알아 차 렸던 것 : 규칙'RewriteRule/index.php [L]'은 ** mod_dir **에 의해 처리되므로 불필요합니다. 관련 지시어는'DirectoryIndex index.php [...]'를 읽어야하는데, 여기서 "..."는 대체물로 좋아할 수 있습니다. – aefxx