2013-03-07 123 views
0

我想寫我的.htaccess文件,所以我有這部分htaccess的:簡化長重寫規則

(例如:http://www.mysite.com/tutorial/php/bydate/p7

RewriteRule ^(album|tutorial)/(.*)/(bydate|byuser|byrate|bypost)/(asc|desc)/p([0-9]+)$ $1.php?cat=$2&sort=$3&order=$4&p=$5 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/(bydate|byuser|byrate|bypost)/(asc|desc)/$ $1.php?cat=$2&sort=$3&order=$4 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/(bydate|byuser|byrate|bypost)/p([0-9]+)$ $1.php?cat=$2&sort=$3&p=$4 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/(bydate|byuser|byrate|bypost)/$ $1.php?cat=$2&sort=$3 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/(asc|desc)/p([0-9]+)$ $1.php?cat=$2&order=$3&p=$4 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/(asc|desc)/$ $1.php?cat=$2&order=$3 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/p([0-9]+)$ $1.php?cat=$2&p=$3 [QSA] 
RewriteRule ^(album|tutorial)/(.*)/$ $1.php?cat=$2 [QSA] 

我的問題是:

1是它更好地使用它?或者是足夠

RewriteRule ^(album|tutorial)/(.*)/$ $1.php?cat=$2 [QSA] 

(例如:http://www.mysite/tutorial/php/?sort=bydate&order=desc&p=2

我把在我的PHP文件中的參數?

2-如果我想使用第一部分,是否有任何方法來簡化它?

回答

0

處理PHP文件中的參數總是更好的方法。否則,你將有一個.htaccess文件有一百的RewriteRules ...

只是看看WordPress的.htaccess文件:

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

一切(除了現有的文件和目錄)將被重定向到index.php文件。 這就是全部。