2013-06-24 4 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> 

Он переписывает URLs как 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