在某种程度上可能有一个模式代表任何路径序列,它用一个包含给定路径的参数替换我的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”。它应该允许使用任意数量的斜杠和“目录”条目。 但!所有在其末尾都有文件的网址,即www.example.com/path/to/file.pdf应该不受此重写规则的影响。
我怎么能做到这一点?
答案 0 :(得分: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'];
?>