2013-04-29 84 views
0

它是否有可能有一个模式,它代表任何路径序列替代我的index.php与一个参数保存给定的路径?htaccess重写规则(任意路径到index.php)

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

有了它,可以多一个“目录”致以网址:www.example.com/Home例如。它重定向到index.php,get变量显示我“Home”。

现在我想改善这一点,所以有可能做一些类似www.example.com/path/to/somewhere的重定向到我的index.php和变量显示“路径/到/某处”。它应该允许使用任意数量的斜线和“目录”条目。 但是!所有得到文件结尾的网址,即www.example.com/path/to/file.pdf都不应受此重写规则的影响。

我该如何存档?

回答

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']; 
?> 
+0

页面变量总是显示我的index.php,而不是更多。甚至* .jpg和其他网址都将被重定向到index.php。 – pyran1208 2013-04-29 10:46:40

+0

更新了我的答案,请再次检查您的结尾 – Amit 2013-04-29 10:53:51

+0

坦克。现在变量总是空的,文件仍然被重定向。 – pyran1208 2013-04-29 11:19:29