我的 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/ 之后的所有内容,并附加查询字符串。