/etc/apache2/sites-available/default.conf内容为:
<Directory>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
我启用了mod_rewrite
在/ var / www / sitename下
我有我的.htaccess文件,内容为:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
但是,当访问localhost / sitename / directory时,出现404错误
我在这里想念什么?
最佳答案
尝试在第一个RewriteRule ^(directory)($|/) - [L]
上方添加RewriteCond
,这样它将从RewriteRule
中排除该目录,您可以添加多个目录,方法是使用|
分隔它们,例如RewriteRule ^(forum|extras)($|/) - [L]
这是一个例子:
RewriteEngine On
RewriteBase /
RewriteRule ^(directory)($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
关于linux - .htaccess文件不适用于Apache,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20306219/