繁体   English   中英

子目录的 mod_rewrite

[英]mod_rewrite for sub directory

我有一个域和一个子文件夹,称为“sub”。在“sub”中是 index.php,其中包含:

$page = $_GET['page'];
switch ($page)
{
    case "main":
        echo "main";
        break;
    case "task_orders":
        echo "task_orders";
        break;
    case "team_members":
        echo "team_members";
        break;
    case "team_experience":
        echo "team_experience";
        break;
    case "quality_assurance":
        echo "quality_assurance";
        break;
    case "geographical_support":
        echo "geographical_support";
        break;
    case "contact":
        echo "contact";
        break;
    default:
        echo "main";
}

我在“sub”中的 htaccess 是:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^sub/([^/\.]+)/?$ index.php?page=$1 [L]

当我点击一个看起来像这样的链接时:

<li><a href="/sub/main" title="Main" class="current">Main</a></li>
<li><a href="/sub/task_orders" title="Task Orders">Task Orders</a></li> 
<li><a href="/sub/team_members" title="Team Members">Team Members</a></li> 
<li><a href="/sub/team_experience" title="Team Experience">Team Experience</a></li> 
<li><a href="/sub/quality_assurance" title="Quality Assurance Program">Quality Assurance</a></li> 
<li><a href="/sub/geographical_support" title="Geographical Support">Geographical Support</a></li> 
<li><a href="/sub/contact" title="Points of Contact">Points of Contact</a></li> 

我没有找到一个页面,而不是回显我所在的页面,有什么想法吗?

我也试过:

RewriteRule ^/sub/([^/\.]+)/?$ /sub/index.php?page=$1 [L]

和相同的结果

您快到了。 您不想在编写RewriteRule时指定前导/

在文档根目录中:

RewriteEngine on
RewriteRule ^sub/([^/\.]+)/?$ /sub/index.php?page=$1 [L]

从 /sub 文件夹:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]

如果您的 .htaccess 位于子目录中,则不必在 RewriteRule 中写入完整路径。

因此,在子目录中的 .htaccess 中使用它:

RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]

或在 root 的 .htaccess 中:

RewriteRule ^sub/([^/\.]+)/?$ sub/index.php?page=$1 [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM