干净的 URL 测试失败。它在我的本地计算机上正常工作,当我将它上传到服务器时,我收到了这条消息,我无法启用干净的 url。我应该怎么做才能启用它?我也上传了htaccess。
问问题
3390 次
3 回答
2
您需要确认在服务器上满足许多要求。在确认 Apache 允许您的本地 .htaccess 配置覆盖后(根据 Ayesh 的评论),我首先检查 info.php 以查看是否加载了 mod_rewrite。
确保在完成检查后删除 info.php,因为您不应该在生产服务器上使用它。
于 2012-10-06T21:28:08.213 回答
2
看看Configure clean URLs,假设您使用的是 apache2
在 apache 中启用 mod-rewrite
sudo a2enmod rewrite
vi /etc/apache2/sites-enabled/000-default,将 AllowOverride 从 None 更改为 All
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
- vi httpd.conf,添加这个
<Directory /var/www/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </Directory>
2.重启apache
sudo service apache2 restart
于 2013-11-08T06:15:02.230 回答
0
如果您的整个站点受密码保护(通过 cpanel/.htaccess),那么测试将不会通过。这可能不是解决方案,但值得检查。
我通过在 .htaccess 文件中注释掉以下行来禁用密码保护。
AuthType Basic
AuthName "public_html"
AuthUserFile "/home/********/.htpasswds/public_html/passwd"
require valid-user
再次运行测试,如果通过,请勾选该框,然后确保取消注释先前注释的行。
于 2013-09-05T14:28:29.963 回答