2014-09-22 3 views
1

일을하는 나는이처럼 보이는 기존의 .htaccess 파일이 : 이것은이 initailly 루트 도메인 주소 방문자를 대상으로 한 방법 일편집 기존의 .htaccess는 하위 디렉토리와 너무

Options -Indexes 
RewriteEngine On 
RewriteBase/
RewriteRule ^posts/(.*)/(.*).html$ index.php?content=blog&postid=$1&kwd=$2 
RewriteRule ^aposts/(.*)/(.*).html$ index.php?content=autopost&postid=$1&kwd=$2 
RewriteRule ^category/(.*)/(.*).html$ index.php?content=category&cat=$1&otext=$2 
RewriteRule ^content/(.*).html$ index.php?content=$1 
RewriteRule ^searching/(.*).html$ index.php?content=search&k=$1 
RewriteRule ^related/(.*).html$ index.php?content=related&k=$1 
RewriteRule ^blog/(.*)/(.*).html$ index.php?content=blog&postid=$1&kwd=$2 
RewriteRule ^posts$ index.php?content=blog 
RewriteRule ^sitemap\.xml$ sitemap.php [L] 
RewriteRule ^robots\.txt$ robots.php [L] 
ErrorDocument 404 /404.php 

.

은 내가 지금 원하는 것은 예를 들어, 너무 받아 디렉토리의 기능을 추가하는 것입니다

example.com/directory1 

또는

example.com/dir1/dir2/dir3/dir4 

하지만 내가 그것을 현재처럼이 같은 기능을 유지하려는.

나는 그것이 의미가 있기를 희망하지만, 명확히 해달라고 요청하십시오.

감사합니다.

+0

어디로 새 URL을 리디렉션해야합니까? example.com/directory1/posts/x/y도'index.php? content = blog & postid = x & kwd = y'로 가나 요? – isogram

+0

예, 주소 표시 줄에 example.com/directory1/posts/x/y가 유지됩니다. – memrat

답변

1
RewriteRule ^posts/(.*)/(.*).html$ index.php?content=blog&postid=$1&kwd=$2 

이 규칙은 URI가 "posts"로 시작하는 경우에만 일치합니다.

(.+/)?이 다음에 어떤 문자 중 하나 또는 그 이상의 "선택 :

이러한 규칙 전에 하나 개 이상의 서브 디렉토리를 허용하려면"게시물 "전에 / 다음에 하나 개 이상의 문자를보고 싶어 a / ", 0 번 또는 1 번. "임의의 문자"에는 슬래시가 포함되어 있기 때문에 마지막 슬래시 뒤의 "게시물"이 나타나는 한 모든 하위 디렉토리에 대해 계산됩니다.

추가 괄호 세트가 도입되었으므로 이제 $2$3에 액세스해야합니다.

그래서 규칙이된다 : 당신은 당신의 각 규칙이 적용 할 수 있습니다

RewriteRule ^(.+/)?posts/(.*)/(.*).html$ index.php?content=blog&postid=$2&kwd=$3 

.

+0

대단히 감사합니다. 시도해 보겠습니다. ? > 'RewriteRule의^게시물 $의 index.php를 내용 = blog' : 괄호의 추가 설정에 관한 은 $ 1로 다스 려 모든 라인은없는 그는 선, 예를 들어 약 $ 2, $ 2 $ 3 등,하지만이됩니다 >'RewriteRule^sitemap \ .xml $ sitemap.php [L]' >'RewriteRule^robots \ .txt $ robots.php [L]' >'ErrorDocument 404/404.php' 고마워요. – memrat

+0

처음에는 변수를 사용하지 않으므로 리디렉션 대상에서 아무 것도 변경할 필요가 없습니다. 변수를 사용하지 않고 괄호를 안전하게 추가 할 수 있습니다. 변수를 _do_ 사용하면 숫자와 일치해야합니다. – isogram

+0

빠른 답변과 세부 정보를 제공해 주셔서 감사합니다. 정말 감사드립니다. – memrat