2014-12-05 103 views
1

我一直在试图找出urlrewriting。而我仍然没有真正理解它。 所以我想这:Htacces网址重写不起作用

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 

而且我很清楚没有工作,我的网页甚至不会加载任何正常更

当我用正常的URL:

forum/?catagory=test 

这作品非常好,会告诉我一切。我不明白为什么URL重写不起作用!甚至尝试过发电机和其他一些东西。它不会工作

+0

你有'RewriteEngine On'和'RewriteBase /' – CIRCLE 2014-12-05 16:12:12

+0

首先,是的。我现在添加的第二件事,但它没有帮助。 – Sjenkie 2014-12-05 16:14:50

+0

如果你去'/ forum/test'会怎么样?你会得到一个404错误或做forum.php加载没有类别? – 2014-12-05 16:44:14

回答

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 modulemod_rewrite和,使前运行Apache服务器匹配文件的扩展名。所以/file可以在URL中,但它将服务/file.php

+0

不适合我,对于迟到的回应抱歉。 .. – Sjenkie 2014-12-06 10:38:05

+0

我在问题中添加了我的整个.htacces。页面test.com/forum/test不起作用。我得到这个:http://prntscr.com/5drsb8。我应该得到这样的东西:http://prntscr.com/5drsg3 – Sjenkie 2014-12-06 11:01:45

+0

好像看起来像问题是没有得到你的CSS/JS。这是因为你使用了css/js/images的相对链接。您可以尝试在页面的HTML标头中添加以下内容:',以便每个相对URL都从该URL解析而不是当前页面的URL。 – anubhava 2014-12-06 11:06:56

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

+0

我有引擎,它被启用:正如所说的“/论坛/?catagory =测试”的作品。我试过你的代码,我仍然没有工作。 – Sjenkie 2014-12-05 16:21:43

+0

您的日志中是否有错误输出? – 2014-12-05 16:22:44

+0

是的,我做我得到的一切我加载一个错误,它是无法加载:“无法加载资源:服务器响应状态404(未找到)” – Sjenkie 2014-12-06 10:43:56