.htaccess文件无法与path_info和/或get方法一起正常工作

时间:2015-02-11 12:18:43

标签: php apache .htaccess mod-rewrite

修正了它。对文件做了一些小改动。它可以在下面看到。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?$1 [NC,QSA,L]

我一直在努力解决我遇到的问题。我有这个.htaccess文件,只是像

一样重写网址
http://example.com/about/?req=true
http://example.com/index.php/about/?req=true

它在我的localhost上运行没有问题,但是当我将它上传到服务器时,我得到“未指定输入文件”错误。您可以在下面看到.htaccess文件的内容。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME}       !-f
RewriteRule ^(.*) index.php/$1 [L]

我尝试了在互联网上找到的不同的东西,包括添加一个php.ini文件,它将cgi.fix_pathinfo设置为1,但除了一个之外没有一个工作,而且没有读取请求字符串。你可以在下面看到一个。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/?$ /index.php?x=$1 [L]

提前致谢。

1 个答案:

答案 0 :(得分:-1)

首先检查是否在apache中启用了重写模块 如果启用,则可以使用此代码隐藏index.php和url

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /base_directory_name/
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /base_directory_name/index.php [L]
</IfModule>

我认为这会对你有所帮助。