.htaccess文件无法在apache上运行

时间:2013-11-30 22:08:46

标签: linux apache .htaccess mod-rewrite

/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 /目录时,我收到404错误

我在这里缺少什么?

3 个答案:

答案 0 :(得分:0)

尝试在第一个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 

答案 1 :(得分:0)

对于使用ubuntu的人,我发现这个答案是完整的。

https://askubuntu.com/a/48363

答案 2 :(得分:0)

试试这个 -

Options +FollowSymLinks
RewriteEngine on
RewriteRule process-id-(.*)\.htm$ process.php?id=$1