localhost上的.htaccess文件

时间:2016-07-04 17:52:47

标签: apache .htaccess localhost

我正在尝试通过.htaccess文件重写我的网址。在我提出要求之前,我试图找出解决方案,但似乎没什么可行的。你能帮忙吗?谢谢。

这是我的.htaccess文件(在根文件夹中):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

RewriteRule ^film/([^/]*)/([^/]*)\.html$ /html/movie/film.php?film=$1&genreID=$2 [L,QSA]
</IfModule>

我确实设置了这些行(在etc / apache2 / sites-available / 000-default.conf中):

DocumentRoot /var/www
<Directory "/var/www/html/movie">
    AllowOverride All
</Directory>

我正在使用Linux伙伴Apache 2.4.7并且在error.log中没有错。

2 个答案:

答案 0 :(得分:0)

你在php.ini中允许mod_rewrite吗?

答案 1 :(得分:0)

根据000-default.conf,您在文档根文件夹中有一个.htaccess,它是/var/www

但是你不允许/var/www中的.htaccess文件。根据000-default.conf。

,允许/var/www/html/movie中的.htaccess文件

要允许/var/www/var/www/html中的.htaccess文件,您必须这样说,例如

<Directory /var/www>
    AllowOverride All
</Directory>

<Directory /var/www/html>
    AllowOverride All
</Directory>

N.B。您不需要AllowOverride AllAllowOverride FileInfo足以使用mod_rewrite,请参阅AllowOverride