0

我目前正在尝试了解干净的网址。我曾经使用过Windows。我突然切换到 ubuntu 时我的 .htaccess 似乎在这里不起作用是我的 htaccess

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

所以我有这个网址

http://localhost/index.php/my_name/

我期待它在浏览器中说出“my_name”字符串

你好我的名字

但它只会在我添加“?”时起作用 在 uri

http://localhost/index.php?/my_name/

我很确定 mod_rewrite 已启用。我什至检查了我的 phpinfo()

4

2 回答 2

2

听起来重写模块已禁用。编辑您的 apache 配置并加载动态模块(mod_rewrite如果可用)。它看起来像这样:

LoadModule rewrite_module modules/mod_rewrite.so

如果您使用的是 Ubuntu,请运行sudo a2enmod rewrite以通过重新启动 Apache 服务器来启用以下模块:

sudo /etc/init.d/apache2 restart
于 2011-10-30T15:06:41.317 回答
0

找到了解决方案。转储 $_SERVER 变量并使用 REQUEST_URI 索引,因为 QUERY_STRING 不显示任何内容。将 +1 Lekensteyn 的回答,因为它引导我走上正确的道路

于 2011-10-30T17:01:32.577 回答