我的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
答案 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中也无法完成,您需要访问服务器的常规配置。