我正在尝试通过.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
中没有错。
答案 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 All
,AllowOverride FileInfo
足以使用mod_rewrite,请参阅AllowOverride