2014-03-19 23 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