我目前正在尝试了解干净的网址。我曾经使用过一次Windows。 当突然我的.htaccess似乎无法工作时,我切换到ubuntu 这是我的htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
所以我有这个网址
我希望它能在浏览器中说出'my_name'字符串
hello my_name
但是每当我添加'?'时它才会起作用在uri
我很确定mod_rewrite已启用。我甚至检查了我的phpinfo()
答案 0 :(得分:2)
听起来重写模块已被禁用。编辑您的apache配置并加载mod_rewrite
的动态模块(如果有)。它看起来像这样:
LoadModule rewrite_module modules/mod_rewrite.so
如果您正在使用Ubuntu,请运行sudo a2enmod rewrite
以通过重新启动Apache服务器来启用以下模块:
sudo /etc/init.d/apache2 restart
答案 1 :(得分:0)
找到解决方案。转储$ _SERVER变量并使用REQUEST_URI索引,因为QUERY_STRING不显示任何内容。将Lekensteyn的答案+1,因为它让我走上了正确的道路