【发布时间】:2013-12-27 20:25:58
【问题描述】:
我的 .htaccess 文件中有以下代码,位于“root/mosaicin/”目录中。,
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /mosaicin/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(download-sample-papers|album|results|testimonials)/([^/]+)/?$ /$1.php?url=$2 [NC,QSA,L]
我想将我的网址 www.domain.com/mosaicin/album.php/NID/ 重写为 domain.com/mosaicin/album/NID/ 规则中列出的其他页面相同(结果、推荐等)
我的 album.php 文件中的示例代码是这样的
<?php
$cid = NULL;
$url = new SimpleUrl('/mosaicin/');
if($url->segment(2) == FALSE)
$cname = 'NID';
else
$cname = $url->segment(2);
$cname = urldecode($cname);
$ccsql = "SELECT courseid,cname FROM courses WHERE cname='".$cname."'";
$csql = $obj->select($ccsql);
if(count($csql)>0)
$cid = $csql[0]['courseid'];
?>
获得 courseid 后,我的代码可以列出与特定课程相关的项目。 目前当我去页面 tplabs.in/mosaicin/album.php/NID 一切正常,但链接如下 tplabs.in/mosaicin/album/NID 它给出 404 错误。
请帮忙, 提前致谢。
【问题讨论】:
-
哪些链接要转到
/download.php,哪些链接要转到/gallery.php您需要了解/anything不能同时访问这两个脚本。 -
其实我从 php url-rewrite 类中找到了这段代码,无法理解,但我猜它会将所有 url 重写为 downloads.php,但我现在想要的是重写以 downloads.php 开头的 url ?cid=1 到/1/download.php 和gallery.php?cid=1 到/1/gallery.php 请帮忙。谢谢。
-
这个漂亮的 URL 方案会更好:
/download/1到/downloads.php?cid=1和/gallery/1到/gallery.php?cid=1让我知道你是否同意,我会发布我的答案。跨度> -
是的,这也可以,请回复,谢谢
-
ok 在下面发布了答案。
标签: php apache .htaccess mod-rewrite url-rewriting