Fre*_*ell 22 apache2 mod-rewrite
我正在尝试设置一个 PHP 路由库。他们给出了一个 .htaccess 文件的例子:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Run Code Online (Sandbox Code Playgroud)
我无法让它工作,所以我尝试启用 mod_rewrite,但它显示“模块重写已经启用”。
为什么它不能正常工作?谢谢!我正在运行 Ubuntu Precise 12.04 和 apache2.2.22。(检查是否有任何更新)
编辑:更多细节,它是一个 PuPHPet vagrant 构建,应该启用重写。
Eve*_*mbH 40
您需要允许覆盖。
<Directory "/path/to/document/root/">
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
met*_*rph 19
首先,将您的 httpd 配置设置为此(路径可能彼此不同。在我的 ubuntu 中,它位于 /etc/apache2/sites-available/default):
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
之后,您应该使用以下命令启用 mod_rewrite:
sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
最后一个,重启你的apache服务:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
为确保这一点,您可以在配置> apache2handler > 加载模块中的phpinfo中再次检查它必须写入,这意味着启用了mod_rewrite。mod_rewrite
我遇到了类似的问题,但其他答案对我没有帮助。开头的这一行.htaccess解决了我的问题:
Options +FollowSymLinks -MultiViews
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102152 次 |
| 最近记录: |