2012-01-09 16 views
1

私は、パーマリンクをWordPressのように作成していますが、サイト固有の設定をしようとしています。ユーザーが記事をクリックしたときに、それはユーザーがディレクトリをクリックしたときにも.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ファイルで使用していたコードが間違っ

です
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

関連する問題