我有一点问题,我用htaccess重写我的网址。它工作一半.. 我在我的htaccess中使用:
RewriteRule ^admin$ index.php?page=admin [NC,L]
RewriteRule ^admin/$ index.php?page=admin [NC,L]
RewriteRule ^admin/?([a-zA-Z-]+)$ index.php?page=admin&subpage=$1 [NC,L]
RewriteRule ^admin/?([a-zA-Z-]+)/$ index.php?page=admin&subpage=$1 [NC,L]
#RewriteRule ^admin/?([a-zA-Z-]+)/?([a-zA-Z-]+)$ index.php?page=admin&subpage=$1&action=$2 [NC,L]
#RewriteRule ^admin/?([a-zA-Z-]+)/?([a-zA-Z-]+)/$ index.php?page=admin&subpage=$1&action=$2 [NC,L]
#RewriteRule ^admin/?([a-zA-Z-]+)/?([a-zA-Z-]+)/?([a-zA-Z-]+)$ index.php?page=admin&subpage=$1&action=$2&mode=$3 [NC,L]
#RewriteRule ^admin/?([a-zA-Z-]+)/?([a-zA-Z-]+)/?([a-zA-Z-]+)/$ index.php?page=admin&subpage=$1&action=$2&mode=$3 [NC,L]
这有效:
http://example.com/admin/editArticle/
但是当我这样做时,我找不到404 ..
http://example.com/admin/editArticle/editMode/22
控制器具有以下内容:
if ($_GET['page'] == 'admin' && $_GET['subpage'] == 'editArticle' && $_GET['action'] == 'editMode' && !empty($_GET['mode'])) {
echo 'Edit mode LOADED!';
die();
//$this->_model->setTemplate('articleEditMode');
} elseif ($_GET['page'] == 'admin' && !empty($_GET['subpage'])) {
$this->_model->setTemplate($_GET['subpage']);
}
这是我推送到页面的按钮:
<a href="'.BASE_URL.'/admin/editArticle/editMode/'.$row['id'].'/">Edit article</a>
在那里得到错误我有什么不对? 即使我在索引中执行var_dump。我不能达到它。我总是得到404 ..
答案 0 :(得分:1)
尝试:
RewriteRule ^admin/?$ index.php?page=admin [NC,L]
RewriteRule ^admin/([a-zA-Z-]+)/?$ index.php?page=admin&subpage=$1 [NC,L]
RewriteRule ^admin/([a-zA-Z-]+)/([a-zA-Z-]+)/?$ index.php?page=admin&subpage=$1&action=$2 [NC,L]
RewriteRule ^admin/([a-zA-Z-]+)/([a-zA-Z-]+)/([a-zA-Z0-9-]+)/?$ index.php?page=admin&subpage=$1&action=$2&mode=$3 [NC,L]
无需添加一个/$
而另一个不添加/?$
。您可以使用<div class="playbox">
<div class="mp3buy">
... content ...
</div>
</div>
。