내 .htaccess 파일에 8 줄의 다시 쓰기 규칙이 있습니다. 이 규칙에서 서버의 물리적 디렉토리 두 개를 제외해야 액세스 할 수 있습니다. 지금은 모든 요청이 index.php 파일로 전송됩니다.
제외 할 디렉토리 : “admin”및 “user”
따라서 http 요청 : http://www.domain.com/admin/ 은 index.php 파일로 전달해서는 안됩니다.
ErrorDocument 404 /index.php?mod=error404
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L]
RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]
답변
다른 규칙보다 먼저이 규칙을 시도하십시오.
RewriteRule ^(admin|user)($|/) - [L]
다시 쓰기 과정이 종료됩니다.
답변
당신이 할 수있는 일은 포함 된 .htaccess 파일을 넣는 것입니다.
RewriteEngine Off
트리에서 더 높은 .htaccess 파일의 규칙에 따라 다시 쓰지 않으려는 폴더에서. 간단하지만 효과적인.
답변
다음과 같이 관리 디렉토리를 점검하기위한 조건을 추가하십시오.
RewriteCond %{REQUEST_URI} !^/?(admin|user)/
RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L]
RewriteCond %{REQUEST_URI} !^/?(admin|user)/
RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]
답변
규칙에서 특정 디렉토리를 제거하려면 (즉, foo 디렉토리를 제거하려는 경우 ) 다음을 사용할 수 있습니다.
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/foo/$
RewriteRule !index\.php$ /index.php [L]
위의 rewriteRule 은 / foo / 요청을 제외한 모든 요청을 /index.php에 다시 작성합니다 .
존재하는 모든 디렉토리를 제외하려면 규칙 위에 다음 조건을 사용해야합니다.
RewriteCond %{REQUEST_FILENAME} !-d
다음 규칙
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !index\.php$ /index.php [L]
/index.php에 모든 것을 (디렉토리 제외) 재 작성합니다 .
답변
다음과 같은 mod_rewrite 규칙을 사용했습니다.
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/test/
RewriteCond %{REQUEST_URI} !^/my-folder/
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
이는 / test 및 / my-folder 디렉토리의 리소스에 대한 요청을 제외하고 사이트에 대한 모든 트래픽을 http://www.newdomain.com 으로 리디렉션합니다 (301 리디렉션으로 영구적으로) . (. *) 캡처 그룹을 사용하고 새 URL에 $ 1을 포함시켜 요청한 정확한 리소스로 사용자를 이동시킵니다. 공간을 염두에 두십시오.
답변
RewriteEngine On
RewriteRule ^(wordpress)($|/) - [L]