0

我是友好网址的新手,所以可能缺少一些基本的东西。

我的 htaccess 包含:

 RewriteRule ^([a-zA-Z0-9-/+]+)/?$ /index.php?surf=$1

在 index.php 中,我处理这样的请求:

switch ($_GET['surf']) {
    case "whatever":    
...

所以链接就像 domain.com/home 一样,我使用 index.php 包含一个 home.php

一切都适用于标准情况,但如果有人输入目录名称作为参数,例如:domain.com/css

页面变得混乱。地址栏显示:http ://domain.com/css/?surf=css ,内容与index.php(home)中的默认情况类似,但没有样式等。

我猜它是在 htaccess 和 index 内容之后尝试访问http://domain.com/css/index.php?surf=css 。

我怎样才能解决这个问题?

*请注意,我想访问的其他一些目录中有一些 index.php。

4

1 回答 1

1

添加这些行:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-/+]+)/?$ /index.php?surf=$1

这可以防止重定向真实的文件和文件夹。

于 2013-07-31T11:50:43.080 回答