【发布时间】:2011-12-20 15:52:04
【问题描述】:
我正在做一个网站,需要做一些 URL 重写
它与$_GET URL ReWriting 非常相似,但我似乎无法让它工作
基本上在我的index.php 中,我使用$_GET 变量来显示内容
<?php
$page = basename($_GET['page']).".php";
if(file_exists("content/".$page))
include("header.php");
else
include("header_index.php");
?>
<div id="main">
<!-- container -->
<?php
if (file_exists("content/".$page))
echo '<div id="container">';
else
echo '<div id="container" class="index_container">';
?>
<!-- content -->
<div id="content">
<?php
if(file_exists("content/".$page))
include("content/".$page);
else
include("content/index_page.php");
include("./content/right_menu.php");
?>
</div>
<!-- content -->
</div>
<!-- /container -->
</div>
<?php
include("./footer.php");
?>
这样test.com/?page=test1 会显示website_folder/content/test1.php
我正在尝试做的是使其成为test.com/test1
我页面上的所有链接都像<a href="?page=testX">Test X</a>
谢谢
编辑:
尝试重写规则RewriteRule (.*)$ ?page=$1RewriteRule ./([a-zA-Z]+)$ ./index.php?page=$1RewriteRule /([a-zA-Z0-9]) /?page=$1RewriteRule ^subdomain.test.com/subfolder/(.+) subdomain.test.com/subfolder/index.html?page=$1 [NC]RewriteRule (.+)$ index.php?page=$1
【问题讨论】:
-
我应该在
.htaccess中写什么才能得到test.com/test1而不是test.com/?page=test1? -
是的。这就像最简单的事情之一,类似于几乎每个关于 mod_rewrite 的教程中解释的内容,但它似乎不适用于我的情况。 (是的,我的主机确实允许 URL 重写,我知道我的
.htaccess已被考虑在内) -
已编辑。标志大部分时间是
[NC]。