0

是否有可能以某种方式表示任何路径序列的模式,该模式用包含给定路径的参数替换我的 index.php?

我有这个规则 RewriteRule ^([^/.]+)$ /index.php?page=$1 [L]

这样就可以用另一个“目录”扩展我的 URL:例如 www.example.com/Home。它重定向到 index.php,get 变量显示“Home”。

现在我想改进这一点,所以可以做类似 www.example.com/path/to/somewhere 的事情,它也重定向到我的 index.php 并且变量显示“path/to/somewhere”。它应该允许使用任意数量的斜杠和“目录”条目。但!所有以文件结尾的 URL,即 www.example.com/path/to/file.pdf 应该不受此重写规则的影响。

我怎样才能做到这一点?

4

1 回答 1

0

尝试跟随一个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php?path=$1 [NC,L]

而在index.php中,访问路径如下

<?php
echo $_GET['path'];
?>
于 2013-04-29T10:25:56.847 回答