0

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

这就是我想出的,它有点工作:

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

上面的代码有两个问题:

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

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

有什么想法吗?我已经花了很多时间,但我想不出更好的方法来解决这个问题。

4

1 回答 1

1

试试这个规则:

RewriteEngine on

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

参考:Apache mod_rewrite 简介

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

于 2013-11-05T17:31:23.887 回答