干净的URL测试失败。它在我的本地计算机上正常工作,当我上传到服务器时,我收到此消息,我无法启用干净的网址。我应该怎么做才能启用它?我也上传了htaccess。
答案 0 :(得分:2)
您需要确认在服务器上满足许多要求。在确认Apache允许你的本地.htaccess配置覆盖后(根据Ayesh的评论)我首先检查info.php以查看是否加载了mod_rewrite。
确保在完成检查后删除info.php,因为在生产服务器上不应该这样做。
答案 1 :(得分: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>
<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
答案 2 :(得分:0)
如果您的整个网站都受密码保护(通过cpanel / .htaccess),那么测试将无法通过。这可能不是解决方案,但值得检查。
我通过在.htaccess文件中注释掉以下行来禁用密码保护。
AuthType Basic
AuthName "public_html"
AuthUserFile "/home/********/.htpasswds/public_html/passwd"
require valid-user
再次运行测试,如果通过,请勾选方框,然后确保取消注释之前注释的行。