2013-01-01 29 views
1

我需要訪問所有地址都重定向到模板文件中的目錄(或包含)。例如:htaccess |將所有地址都重定向到模板少主目錄

/sports/basketball/ ==> /template_sport.php?idsport=$1 
/sports/soccer/ ==> /template_sport.php?idsport=$1 
/sports/tennis/ ==> /template_sport.php?idsport=$1 

但相反,如果我們訪問/ sports /(無子目錄)來加載該目錄中的頁面。

我這個做...子目錄和工作得很好,但是當我訪問/體育/我也試圖訪問/ plantilla_deporte.php ....

RewriteCond %{REQUEST_URI} sports/(.*) 
RewriteRule (.*) /template_sport.php?idsport=$1 

我怎麼可以添加如果你直接去/運動/找不到模板的例外情況?

在此先感謝!

回答

1

你可以試試這個:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/sports/([^/]+) 
RewriteRule .* http://example.com/sports/template_sport.php?idsport=%1 [L] 

它將映射默默地像這樣的所有網址:

http://example.com/sports/basketball

要:

http://example.com/sports/template_sport.php?idsport=basketball

,它會做什麼時候傳入的URL只是:

http://example.com/sports/

+0

行!這是完美的...然後我可以通過$ _SERVER ['REQUEST_URI'] –

+0

獲得IDSport,但是如果我喜歡用$ _GET ['idsport']獲得deidsport? 我試着把?idsport = $ 1,但參數不發送...在你的例子中發送「xx」 –

+0

@ D.Sanchez現在是。我更新了我的答案,請檢查它。 –

相關問題