2012-02-08 61 views
0

请帮我解决这个问题。我有.htaccess文件的PHP项目包含这样的代码 -.htaccess文件配置

RewriteEngine on 

RewriteRule ^admin/?$ admin/index.php 
RewriteRule ^files/([0-9]+)/(.*)([/]?)$ download.php?id=$1 [QSA] 
RewriteRule ^([/a-zA-Z0-9_-]+)$ index.php?page=$1 [QSA] 

所以,我要的服务器,我的项目正常工作的第一台服务器上,但第二台服务器上我只能看到首页,我的意思是,当我试图去另一页,例如关于我,这个错误appears`

未找到

所请求的网址/ my_site /英/ aboutme /没有被此服务器上找到。

我认为它与.htaccess文件连接。

请帮帮我。

+0

您应该检查您的网站运行在哪个文件夹中。我认为这不是这个文件的问题,否则问题出在你的文件夹中它的位置。 – 2012-02-08 07:25:19

+0

但是,可能是什么问题,你的意思是?你有什么想法吗? – 2012-02-08 09:05:31

回答

0

您是否检查过其他服务器是否安装了mod_rewrite?如果URL重写不起作用,那么90%的时间都会丢失重写引擎。

+0

没有它的作品,我检查了几次:( – 2012-02-08 08:27:51

1

我会建议使用此:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteRule ^admin/?$ admin/index.php [NC,L] 

RewriteRule ^files/([0-9]+)/([^/]*)/?$ download.php?id=$1 [QSA,L,NC] 

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] 
  • 你在所有的规则缺失-l标志。
  • 您需要放松最后一条规则,以最终捕获index.php要处理的所有内容。
  • 同样重要的是使用RewriteCond %{REQUEST_FILENAME} !-f来防止循环。
+0

谢谢,但我复制并粘贴,但没有结果:( – 2012-02-08 08:29:59

+0

不知道你的意思是'无结果:)你试过的URI是什么??什么是什么? – anubhava 2012-02-08 08:41:25

+0

这是错误,它并不依赖于我想要打开的URI,因为它仅适用于主页。 在此找不到请求的URL/mysite/eng/aboutme /服务器 – 2012-02-08 09:06:30