2013-06-24 41 views
1

我有以下的.htaccess-文件:的.htaccess有多個參數

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)/([^/]*)?$ index.php?parent=$1&page=$2 [L,QSA] 
RewriteRule ^([^/]*)/?$ index.php?page=$1 [L,QSA] 
</IfModule> 

它的URL重寫像mypage.com/about corretly到mypage.com/index.php?page=about

當我打電話mypage.com/work/project它應該連接我mypage.com/index.php?parent=work&page=project但它不起作用。
如果我直接撥打mypage.com/index.php?parent=work&page=project,該網站將被加載沒有任何問題。我可以回顯GET參數,並且它們都是相同的。

有了這些GET參數我加載頁面(jQuery的)的內容:

<script type="text/javascript"> 
$(document).ready(function() { 
    var page = '<?php echo $page; ?>'; 
    var parent = '<?php echo $parent; ?>'; 
    if (page == "") { 
    $("section").load("view/home.php article"); 
    } else { 
    if (parent == "") { 
     $("section").load("view/" + page + ".php article"); 
    } else { 
     $("section").load("view/" + parent + "/" + page + ".php article"); 
    } 
    } 
    }); 
</script> 

我是怎麼了?有人可以幫我嗎?

回答

1

你的.htaccess更改爲

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*?)/([^/]+?)/?$ index.php?parent=$1&page=$2 [L,QSA] 

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

請注意,這會重定向到mypage.com/work/mypage.com/index.php?page=work。將+?更改爲*?如果您還想將其重定向到mypage.com/index.php?parent=work&page=

+0

嗨,謝謝你的回答。仍然是同樣的錯誤 - 內容和CSS不會被加載。 – theyanu

+0

啊,誤解了你的問題。請讓我知道:你想'mypage.com/work /'(以斜槓結尾)轉到'?parent = work&page ='或'?page = work'? –

+0

不要工作。如果我使用我的.htaccess並且想要調用URL mypage.com/work /'(以結尾斜槓) - 頁面的內容+ css將不會被加載,沒有結束斜槓就可以工作。使用你的代碼'mypage.com/work/project'不會完全指向'mypage.com?parent = work&page = project' - 我可以回顯GET參數,但是由於任何原因,內容和css都會丟失。 – theyanu