2012-01-09 2 views
1

저는 설치 프로그램에서 wordpress와 마찬가지로 permalink를 만들지 만 사이트에만 한정된 사이트를 사용하려고합니다. 사용자가 기사를 클릭 할 때, 그것은 사용자가 디렉토리를 클릭 할 때 또한.htaccess의 여러 다시 쓰기 규칙 원하는 페이지로 리디렉션하려면

http://www.sitename.com/url-slug 

그것은 마찬가지로이

http://www.sitename.com/category/category-slug 

같은 것을 리디렉션해야 좋아해야한다 세트, 사용자, 페이지를 클릭 할 때, 그것은해야 다음

http://www.sitename.com/sets/set-slug 

http://www.sitename.com/user/user-full-name 
http://www.sitename.com/page/page-slug 

처럼 각각 재 내가 확신 내가 htaccess로에서 사용하고있는 코드가 잘못

,369입니다
Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule (.*)$ ./single.php?id=$1 
RewriteRule ^category/(.*)/ category.php?id=$1 [L] 


Options +FollowSymLinks 
RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ http://www.sitename.com/$1 [R=301,L] 

내가 잘못 가고있는 사람을 안내해 줄 수 있습니까? 즉, single.php, category.php, sets.php, users.php 및 page.php와 같은 개별 페이지를 불러와 표시해야합니다. 데이터. 나는 .htaccess에 초보자입니다. 그래서, 어떤 도움을 주셔서 감사합니다.

답변

9

나는 당신이 위치 당신의 .htaccess에 다른 규칙이 당신의 루트 디렉토리 웹 사이트

RewriteEngine on 
RewriteBase/

#if for an existing directory or file 
RewriteCond %{SCRIPT_FILENAME} -d 
RewriteCond %{SCRIPT_FILENAME} -f 
#then do nothing 
RewriteRule . - [L] 

#otherwise 
#if it is for a slug (assuming alphanumeric and dashes), send to single 
RewriteRule ^([-a-zA-Z0-9]+)/?$ single.php?id=$1 [L] 

#if a category 
RewriteRule ^category/([-a-zA-Z0-9]+)/?$ category.php?id=$1 [L,NC] 

#if a sets 
RewriteRule ^sets/([-a-zA-Z0-9]+)/?$ sets.php?id=$1 [L,NC] 

#if a sets 
RewriteRule ^user/([-a-zA-Z0-9]+)/?$ users.php?id=$1 [L,NC] 

#if a page 
RewriteRule ^page/([-a-zA-Z0-9]+)/?$ page.php?id=$1 [L,NC] 
+0

감사 남자를 int로하지 않았는지 가정입니다! 이것은 내가 Stackoverflow에 대해 좋아하는 것입니다. 정답을 정확하고 정확하게 얻을 수 있습니다. 대단히 감사합니다. – user4203