mod_rewrite在Linux Mint localhost

时间:2015-09-01 08:30:22

标签: php linux apache .htaccess mod-rewrite

我正在创建一个CMS并尝试将帖子链接转换为漂亮的链接:

原始链接:

http://localhost/index.php?id=13&category=Uncategorized&title=just-a-link

转换后的链接:

http://localhost/13/Uncategorized/just-a-test

我在Linux Mint上使用Apache2,我的网站位于:

var/www/html

我使用sudo a2enmod rewrite加载了mod_rewrite,然后重新启动了apache2。

我的apache2配置文件是/etc/apache2/apache2.conf我有:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride All
    Require all granted
</Directory>

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride All
#   Require all granted
#</Directory>

这是我的.htaccess文件,位于var/www/html/.htaccess

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /single.php?id=$1&category=$2&title=$3 [L]

我已经多次重启apache2,但它不起作用。

这是phpinfo加载的模块,(你可以看到加载了mod_rewrite)

core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status

如果我直接从url获取$ _GET值而没有mod重写它可以工作,但是使用漂亮的url我不能再获得$ _GET值了。

不漂亮: http://i.imgur.com/FUc3Tuc.png

漂亮: http://i.imgur.com/GIzOPpK.png

0 个答案:

没有答案