2016-07-04 102 views
0

我試圖用.htaccess文件重寫我的網址。我試圖找出解決方案之前,我問,但似乎沒有任何工作。你能幫忙嗎?謝謝。。本地主機上的.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> 

我沒有設置這些線(在等/ apache2的/網站可用/ 000-default.conf):

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

我使用的Linux隊友Apache 2.4.7和error.log沒有錯。

回答

0

你是否允許在php.ini中使用mod_rewrite?

+0

我沒有:)我會嘗試.... – macalu

+0

然後你必須重新啓動Apache服務器 – neattom

+0

我發現,mod_rewrite的不是一部分的PHP,但阿帕奇。我所做的是:'sudo a2enmod rewrite'和'sudo service apache2 restart',但仍然無效。 – macalu

0

根據000-default.conf,您在文檔根文件夾中有一個.htaccess,它是/var/www

但是,您不允許在/var/www中使用.htaccess文件。根據000-default.conf,您允許/var/www/html/movie中的.htaccess文件。

要允許.htaccess文件在/var/www/var/www/html,您必須這樣說,例如,

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

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

N.B.你不需要AllowOverride AllAllowOverride FileInfo是足夠使用mod_rewrite,看到AllowOverride