RewriteRule 不起作用 .htaccess

RewriteRule 不起作用 .htaccess

我的 apache httpd.conf 文件有以下内容

NameVirtualHost 11.91.91.97

<VirtualHost:11.91.91.97>
  ServerName creditrepair.com
  DocumentRoot /var/www/credit
  <Directory /var/www/credit >
    DirectoryIndex app.php
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all
   </Directory>
</VirtualHost>

在我的信用文件夹中,有.htaccess一个文件包含以下内容

< IfModule mod_rewrite.c >

 RewriteEngine On
 RewriteBase /creditrepair
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ app.php [QSA,L]
 RedirectMatch ^/$ /app.php/

< /IfModule >

我想要实现的是ipnum/credit/app.php/home重写为ipnum/credit/home

我已启用 mod_rewrite。
但它不起作用,我不知道为什么。

有什么建议么?

答案1

我建议修改以下几行:

< IfModule mod_rewrite.c >

 RewriteEngine On
 RewriteBase /creditrepair
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)/app.php/(.*)$ $1/$2 [QSA,L]

< /IfModule >

我还没有测试过,但它可以工作,基本上它应该做的是重写 URL,获取 ($1 匹配) 之前和 ($2 匹配) /app.php/ 之后的所有内容,并附加查询字符串。

相关内容