-1

我正在使用启用扩展的 PHP 5.3.5htaccess开发 Wamp。

我面临的问题是我需要这样的东西http://localhost/abc/aboutus

现在实际的 URL 是这样的http://localhost/abc/index.php?aboutus

我尝试了以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

并尝试使用它,http://localhost/abc/aboutus但它不起作用。但是当我尝试它时http://localhost/abc/?aboutus

它工作正常,但我实际上想?从 URL 中删除。谁能告诉我我错在哪里?

4

1 回答 1

0

您必须/abc/在规则中考虑 URI 基础。因此,如果 htaccess 文件位于您的文档根目录中,则规则需要如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^abc/(.*)$ /abc/index.php?/$1 [L]

但是,如果规则位于 /abc/ 文件夹中的 htaccess 文件中它们需要如下所示:

RewriteEngine On
RewriteBase /abc/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
于 2013-01-12T17:00:15.697 回答