2014-03-19 24 views
1

我想使用htaccess重写规则。我需要多个重写规则与.htaccess中的变量

http://www.sitename.com/variable/upload.php 映射到
http://sitename.com/upload.php?slug=variable

http://www.sitename.com/variable/gallery.php 映射到
http://sitename.com/gallery.php?slug=variable

http://www.sitename.com/variable/
映射到 http://sitename.com/home.php?slug=variable

对于第三部分我有:

Options -Multiviews 

RewriteEngine On 
RewriteBase/

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

RewriteRule ^([^/]+) home.php?slug=$1 [L] 

但现在http://www.sitename.com/variable/upload.php也映射到http://sitename.com/home.php?slug=variable

我怎样才能做到这一点?

回答

1

让你的规则是这样的:

Options -Multiviews 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/?$ $2?slug=$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ home.php?slug=$1 [L,QSA] 

即处理2斜线规则你改写为home.php