使用htaccess从URL中提取数据

时间:2013-11-05 17:27:54

标签: .htaccess

我正在尝试使用htaccess从URL中提取数据。例如,如果用户访问www.foo.com/12345我想获取12345并将用户发送到goto?q = 12345

这是我提出的,它有点有效:

RewriteEngine on
RewriteRule    ^(.*)/  goto.php?q=$1

上述代码有两个问题:

1)我无法访问任何子文件夹(即css /和img /)

2)如果用户没有输入尾部斜杠,他将获得404

任何想法?我已经花了很多时间,我无法想出一个更好的方法来解决这个问题。

1 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ goto.php?q=$1 [L,QSA]

参考:Apache mod_rewrite Introduction

您应该在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。