2014-09-07 5 views
0

나는 아래에 따라 htaccess로 라인을 가지고있다 - 나는 RewriteRule ^(.*)$ $1.php [NC,L], http://localhost/trip/articles/Sightseeing가 표시 될 수 있습니다 언급 경우내부 서버 오류 htaccess로

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 

RewriteRule ^articles/images/(.*)$ images/$1 
RewriteRule ^articles/(.*)/images/(.*)$ images/$2 

RewriteRule ^articles/([a-zA-Z0-9_-]+)$ articles.php?articleType=$1 
RewriteRule ^articles/([a-zA-Z0-9_-]+)/([0-9]+)$ articles.php?articleType=$1&page=$2 
RewriteRule ^articles/([a-zA-Z0-9_-]+)/(.*)$ articles.php?articleType=$1&articleID=$2 

문제입니다. 그러나 http://localhost/trip/privacy (오류 : 개체를 찾을 수 없습니다!)을 표시 할 수 없습니다. 해당 줄의 주석을 제거하면 http://localhost/trip/privacy을 표시 할 수 있지만 http://localhost/trip/articles/Sightseeing (오류 : 내부 서버 오류)을 표시 할 수 없습니다.

이미 삽입하려고 시도했습니다 <Directory /> AllowOverride All </Directory> 및 오류 : 서버 오류! <IfModule mod_rewrite.c>...</IfModule>을 삽입하면 내부 서버 오류가 발생합니다.

두 링크를 성공적으로 표시 할 수있는 방법이 있습니까? 미리 감사드립니다.

답변

0

이미 해결했습니다. 광산으로 같은 문제가있는 사람들을 위해 : -

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ $1.php 

RewriteRule ^articles/images/(.*)$ images/$1 

RewriteRule ^articles/(.*)/images/(.*)$ images/$2 

RewriteRule ^articles/([a-zA-Z0-9_-]+)$ articles.php?articleType=$1 [L] 
RewriteRule ^articles/([a-zA-Z0-9_-]+)/([0-9]+)$ articles.php?articleType=$1&page=$2 
RewriteRule ^articles/([a-zA-Z0-9_-]+)/(.*)$ articles.php?articleType=$1&articleID=$2 
+0

흠없는 휴대용 솔루션 지금부터 규칙/file.php' 당신이 가지고있는/디렉토리'^ ([^ /'에'/ 디렉토리/file'를 다시 작성할 수 없습니다 ] +) $'정규식 패턴. – anubhava