Web服务器上.htaccess文件中的“RewriteEngine On”出错

时间:2011-01-27 20:24:04

标签: php .htaccess

RewriteEngine On
RewriteRule ^bloco/(.*)$ bloco.php?id=$1
RewriteRule ^bloco/(.*)/$ bloco.php?id=$1

我的.htaccess文件具有该配置,在我的本地服务器上运行良好,但在网络服务器上运行不正常...

本地: domain.com/bloco/590

网络服务器: domain.com/bloco/?id=590

现在(不工作......)

Options +FollowSymLinks

Options -Indexes

RewriteEngine On
RewriteEngine On
RewriteRule ^bloco/(.*)(/?)$ /carnaval/blocosderua/bloco.php?id=$1 [NC,L]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1\.php

php_value allow_url_fopen 1
php_value allow_url_include 1

任何帮助?

3 个答案:

答案 0 :(得分:0)

并非所有托管公司都允许您使用重写引擎。如果您收到错误,请尝试查看是否也仅使用RewriteEngine On规则。如果它,我担心你不允许使用它。

至于规则,他们看起来很好。

Greets Michael

答案 1 :(得分:0)

您可能需要在.htaccess的顶部添加Options + FollowSymLinks。否则,需要在httpd.conf中配置。

这基本上允许您覆盖.htaccess中的配置值。

答案 2 :(得分:0)

将您的RewriteRule修改为如下所示:

RewriteEngine On
RewriteRule ^bloco/(.*)(/?)$ /bloco.php?id=$1 [NC,L]

这假定bloco.php在您的根目录中。如果不是,您需要指定它的路径:

RewriteRule ^bloco/(.*)(/?)$ /path/to/bloco.php?id=$1 [NC,L]