douhuxi4145 2011-07-20 20:59
浏览 52
已采纳

使用.htaccess隐藏URL密钥参数

I've been searching all over the web and haven't yet found any solution to this issue. I'm hoping you could shed some light on the situation.

I have my index file set up like this:

<header></header>
<div id="main">
    <?php
    if(isset($_GET["p"])) $p = $_GET["p"];
    else $p = "home";

    if(file_exists("pages/{$p}.php")) include("pages/{$p}.php");
    ?>
</div>

which makes me load my pages with a ?p=contact href.

Say I would like to display a users profile. I'd then create a subfolder in my "pages" folder, making the relative path pages/users/profile.php, thus the href ?p=users/profile&uid=5. But that leaves an ugly URL (as well as SEO rating).

How would I rewrite that URL to look like /users/profile/5?


EDIT: I've tried the following, resulting in HTTP 500:

RewriteRule ^([^/]*)/([^/]*)$ /?p=$1&uid=$2 [L]

EDIT: My .htaccess file, located directly inside root folder: http://pastie.org/2268239
Line 338 is where I want to achieve this (currently just a comment).

  • 写回答

3条回答 默认 最新

  • duanruoyu6675 2013-04-20 09:43
    关注

    I achieved the desired effect by adding these three lines:

    RewriteRule ^([a-zA-Z]+)$ index.php?p=$1 [L]
    RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?p=$1/$2 [L]
    RewriteRule ^([a-zA-Z]+)/([0-9]+)$ index.php?p=$1&uid=$2 [L]
    

    This allows me to access /contact, /users/index and /users/profile/5.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算