访问htaccess重写的URL没有查询参数

时间:2018-02-12 08:32:51

标签: .htaccess

我已将PHP文件的URL重写为:

hibernate.cfg.xml

这使得页面_psu.php仅可以访问:

RewriteRule ^psu/(.*)/(.*)/(.*)/(.*) _psu.php?id=$1&mb=$2&cpu=$3&name=$4 [L]

任何其他网址,例如:

psu/path/path/path/path

给出404 Not Found错误。 如何重写网址 - psu/path/path/path/ psu/path/path/ psu/path/ psu 以保持上述网址的可访问性?

3 个答案:

答案 0 :(得分:1)

试试这个:

   frame1.add(frame2) 

RewriteEngine On RewriteBase / RewriteRule ^psu(?:/([^/]*)(?:/([^/]*)(?:/([^/]*)(?:/([^/]*)/?)?)?)?)?$ _psu.php?id=$1&mb=$2&cpu=$3&name=$4 [L]

_psu.php

检查可访问的网址:

<?
$id = $_GET["id"];
$mb = $_GET["mb"];
$cpu = $_GET["cpu"];
$name = $_GET["name"];

echo "id: $id<br>
mb: $mb<br>
cpu: $cpu<br>
name: $name";
?>

满足所有提到的退休。

答案 1 :(得分:0)

psu在站点根目录中使用此规则后处理动态长度路径.htaccess:

AcceptPathInfo on
RewriteEngine On

RewriteRule ^psu(/.*)?$ _psu.php$1 [L,NC]

php内部_psu.php代码使用:

$_SERVER["PATH_INFO"]

获取路径信息。您可以按/拆分它以获取路径组件列表。

答案 2 :(得分:0)

您可以使用:

RewriteRule ^psu(?:/([^/]*)(?:/([^/]*)(?:/([^/]*)(?:/([^/]*)/?)?)?)?)?$ _psu.php?id=$1&mb=$2&cpu=$3&name=$4 [L]