1

我有以下 .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>

它将网址正确地重写mypage.com/aboutmypage.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>

我做错了什么?有人可以帮我吗?

4

1 回答 1

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=

于 2013-06-24T12:11:51.810 回答