0

下面给出的 .htaccess 代码正在获取内部错误

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^([w]{3,3}[.]{1,1}){0,1}example.com$
RewriteCond %{HTTP_HOST} ^([0-9a-zA-Z-]*)[.]example.com$
RewriteRule ^$ portfolio/index.php?id=%1 [NC,L]

AuthType Basic
AuthName "If your not authenticated , then go seat in corner"
AuthUserFile /var/www/devRoot/.htpasswd
Require valid-user

但如果我只使用

AuthType Basic
AuthName "If your not authenticated , then go seat in corner"
AuthUserFile /var/www/devRoot/.htpasswd
Require valid-user

上面的代码工作完美。

问题是我无法理解为什么第一个代码不起作用。

日志:

[Wed Jul 10 13:12:11 2013] [alert] [client 1.23.112.242] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configur                             ation
[Wed Jul 10 13:12:12 2013] [alert] [client 1.23.112.242] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configur                             ation

解决了 :

Did you ensure the RewriteEngine is on?

You'll want to verify that the mod is enabled - just look for rewrite.load symlink in /etc/apache2/mods-enabled. If not, run sudo a2enmod rewrite to enable it. Restart apache using sudo service apache2 restart and provided your .htaccess syntax is correct this will work.

Otherwise you will need to paste more information about your .htaccess file.
4

1 回答 1

0

你还没有启用重写引擎,取消注释 httpd.conf 中的行

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

您可能在 /etc/apache2/mods-available 中有它,在这种情况下只需将其复制到 mods-enabled 并重新启动

那是假设Linux?

您正在寻找的窗户

LoadModule rewrite_module modules/mod_rewrite.so
于 2013-07-10T13:20:27.813 回答