用 $_get 重写的 mod 有效,但不适用于子文件夹


mod rewrite with $_get works but not for subfolders

我现在的工作是这样的:

网上商店/索引.php?页面=主页

改写为:

网上商店/主页

但是现在我想有以下链接:

网上商店/帐户/登录

我认为它应该与我得到的代码一起使用,但它没有。

我得到的是以下PHP代码:

<?php
if (isset($_GET['page'])) { 
$page = $_GET['page'];      
} else {                    
   $page = 'home';      
}
if (strpos($page, '/') !== false || !file_exists("pages/$page.php")) {  
     $page = 'error';                                               
}
include ("pages/$page.php");        
?>

这是我的.htaccess文件:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} /index'.php [NC]
RewriteRule ^(.*?)index'.php$ /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^webshop/([^/]*)$ /webshop/?page=$1 [L]

试试这个,你可以返回多个参数

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /webshop/
RewriteCond %{THE_REQUEST} /index'.php [NC]
RewriteRule ^(.*?)index'.php$ /$1 [L,R=302,NC,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/([^/]+)/?([^/]*)?   [NC]
RewriteRule .*    index.php?page=%1&route=%2  [L]
相关文章: