2012-03-26 84 views
1

只是想知道是否有可能在單個(或多個)子文件夾中使用mod_rewrite。 在一個我想稱之爲休息服務語法的文件夾中有一項服務。modrewrite子文件夾

$url = 'http://mysite/subfolder/parem1/parem2/parem3/'; 
$_SERVER['REQUEST_URI'] 

$tokens = explode('/', $url); 
echo $tokens[sizeof($tokens)-2]; 

所以問題是,如果我能趕在子文件夾的index.php所有不同的段,用forexample modrewrite(僅在這個文件夾放置與規則.htaccess?),或者是怎麼回事完成?

關於

回答

1

這是可能的。在你的.htaccess,你可以把這樣的事情:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    RewriteRule ^([^/\.]+)/?$        index.php?p1=$1 
    RewriteRule ^([^/\.]+)/([^/\.]+)/?$      index.php?p1=$1&p2=$2 
    RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$   index.php?p1=$1&p2=$2&p3=$3 
    RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2&p3=$3&p4=$4 

</IfModule> 

你的情況,你可以只把.htaccess文件用的index.php在您的服務所在的文件夾中。

通過這種方式,您可以獲取(並清理)$_GET數組,而不是獲取整個網址。

+0

是否有可能還「隱藏」的index.php寫入或鏈接到網址的時候..如果我寫的我的文件夾/ p​​aram1/param2在它說,該文件夾不exsist ..也許我做錯了什麼? – bomanden 2012-03-28 07:49:26

+0

此時,index.php應該已經被url隱藏了。也許你在主文件夾中有另一個.htaccess中的其他規則? – Simone 2012-03-28 08:56:02

+0

得到它的工作..謝謝你! – bomanden 2012-03-29 13:15:17

2

如果要定義重寫規則的子文件夾,看看RewriteBase

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /yoursubfolder 
    RewriteRule ^(.*)$ index.php?$param=$1 
</IfModule>