HTACCESS Mod_Rewrite麻烦

时间:2012-09-27 08:48:18

标签: apache .htaccess url mod-rewrite

我的mod_rewrite有点麻烦,我在之前的litespeed VPS上运行得非常好。现在我正在使用我自己的运行CentOS 6的专用服务器,所以我不知道我是否配置不正确。

目前的情况如下:

的http:// * ** 的.com /页面名= FourthPage

这就是我想要的样子:

的http:// * ** 的.com / FourthPage

这是我当前的.htaccess文件:

RewriteEngine On

RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule ^([^/\.]+)/?$ index.php?pageName=$1

1 个答案:

答案 0 :(得分:1)

我对htaccess语法不太满意。如果您有权访问,则应直接在服务器配置中配置此类规则。将htaccess用于此类目的只是一种解决方法。但是:

RequestRule中的模式是错误的。特别是尾部斜杠('/')。匹配意味着什么?您可能希望再次阅读该规则的文档。该模式与完整URL不匹配,但仅在htaccess的情况下针对路径的一部分。

试试以下内容:

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

此外,您应该在服务器内启用重写日志记录。相关的配置选项是RewriteLog(对于文件)和RewriteLogLevel(对于级别......)。它有助于了解重写模块内部的情况。但是,在htaccess中也无法完成,您需要访问服务器的常规配置。