2014-06-10 2 views
1

내 htaccess로 :.htaccess 규칙을 덮어 쓰지 않는 방법은 무엇입니까?

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^product-([^/]+).html$ index.php?tid=$1 [L] 
RewriteRule ^links-([^/]+).html$ index.php?page=links&lid=$1 [L] 

RewriteRule ^([^/]+).html$ index.php?page=$1 [L] 

문제 :

난 홈 사이트 디렉토리 파일 test.html에 넣을 경우는 눈에 보이지 않는됩니다.

난 내 htaccess로 파일 규칙을 변경하는 경우 :

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^([^/]+).html$ index.php?page=$1 [L] 

RewriteRule ^product-([^/]+).html$ index.php?tid=$1 [L] 
RewriteRule ^links-([^/]+).html$ index.php?page=links&lid=$1 [L] 

내가 URL을 /product-10.html에서 404 오류가 있지만 test.html 사용할 수 있습니다. 어떻게이 일 두 경우 모두 그렇게 할

(사용할 수 있어야합니다 test.html를을하는 경우가 있고 제품 ​​10.html이 의 index.php? TID = 10로 리디렉션해야합니다)?

답변

1

먼저 실제 파일과 디렉토리를 모두 별도의 규칙으로 무시하십시오.

사용이 코드 :

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

RewriteRule ^product-([^/]+)\.html$ index.php?tid=$1 [L,QSA] 

RewriteRule ^links-([^/]+)\.html$ index.php?page=links&lid=$1 [L,QSA] 

RewriteRule ^([^/]+)\.html$ index.php?page=$1 [L,QSA] 
+0

와우! 그것은 정말로 효과적입니다. 고맙습니다! – xercool

+0

다행히도, 제 답변의 왼쪽 상단에있는 눈금을 클릭하여 대답을 표시 할 수 있습니까? – anubhava

관련 문제