Htaccess url重写不起作用

时间:2014-12-05 16:09:45

标签: html .htaccess url url-rewriting

我一直在试图弄清楚urlrewriting。我认为我仍然没有真正得到它。 所以我试过这个:

Options -Indexes +ExecCGI
AddHandler cgi-script .cgi .pl
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag  log_errors on
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^home/? index.php
RewriteRule ^forum/?$ forum.php [L,NC]
RewriteRule ^forum/([a-z0-9-]+)/?$ forum.php?catagory=$1 [L,QSA,NC]
RewriteRule ^login/? loginpage.php
RewriteRule ^register/? registerpage.php
RewriteRule ^servers/? servers.php
RewriteRule ^profile/? profile.php
RewriteRule ^profile/([A-Za-z0-9-]+)/?$   profile?user=$1
RewriteRule ^members/? memebers.php

我显然没有工作,我的页面甚至不再正常加载

当我使用普通网址时:

forum/?catagory=test

这项工作非常好,并会向我展示一切。我不知道为什么网址重写不起作用!甚至尝试过发电机和其他一些东西。它不会工作

2 个答案:

答案 0 :(得分:2)

关闭MultiViews选项:

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^forum/?$ forum.php [L,NC]
RewriteRule ^forum/([a-z0-9-]+)/?$ forum.php?catagory=$1 [L,QSA,NC]

MultiViews之前运行的Apache's content negotiation module使用选项mod_rewrite,并使Apache服务器匹配文件扩展名。因此/file可以在网址中,但它会投放/file.php

答案 1 :(得分:0)

首先,你是否打开了RewriteEngine? 其次,重写模块是否已启用?执行phpinfo();检查并answer

这样:

RewriteEngine On
RewriteBase /
RewriteRule ^forum/?$ forum.php
RewriteRule ^forum/([A-Za-z0-9-]+)/?$ forum.php?catagory=$1 [L]

此页面可以为您提供帮助:URL Rewriting for Beginners