我在主目录中有 codeigniter 应用程序。在 /var/www/html 中创建的符号链接。我对应用程序文件夹中的 .htaccess 文件进行了更改,以删除 URL 中的 index.php。下面的链接工作正常。
http://mydomain.net/dms/welcome
也就是说,控制器的默认方法工作正常。但是当我在欢迎控制器中有方法“测试”时,以下链接会导致 HTTP 404 网页未找到错误。
http://mydomain.net/dms/welcome/test
代码点火器 2.1.1 目录:
dms
application
system
index.php
.htaccess
配置文件
$config['base_url'] = '';
$config['index_page'] = "";
$config['uri_protocol'] = "AUTO";
配置文件 httpd.conf
Alias /dms/ "/var/www/html/dms/"
<Directory "/var/www/html/dms">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
符号链接
ls -l /var/www/html
dms -> /home/user1/dms
.htaccess 文件
Options +FollowSymLinks -Indexes
Options -MultiViews
RewriteEngine on
<IfModule mod_php5.c>
RewriteRule ^([^/]*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_php5.c>
RewriteRule ^([^/]*)$ index.php?/$1 [L]
</IfModule>
我还尝试使用以下 2 条重写规则代替 .htaccess 文件中的上述规则。
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^(.*)$ index.php?/$1 [L]
但是如果不使用 URL 中的 index.php,就无法访问控制器方法。在这方面花了很多时间,我认为这与重写规则有关。有人可以指导我吗?