【发布时间】:2017-03-02 14:11:45
【问题描述】:
我使用的是 Wamp 2.4,但必须卸载它并在 3.0.8 更新的同时安装 3.0.6。通过在 wamp 托盘设置中选择 Add localhost 选项并在应用程序的配置文件中的 .htaccess 和 http//localhost/mysitefolder 中声明 /mysitefolder/ ,一切正常。
但我喜欢使用虚拟主机的想法,尤其是通过提供的 GUI 表单通过接口创建 VH。我在 3.0.6 版安装之前创建了一个我正在处理的项目的 VH。现在我编辑了我正在使用的 codeigniter 代码的 .htaccess 和配置文件,这样我现在可以导航到 http://mysitefolder,而不是默认的 localhost/mysitefolder。
问题:指向http://mysitefolder 显示正确,但单击任何指向子页面的链接都会导致相同的浏览器错误:
"未找到请求的 URL /mysitefolder.txt/index.php 未找到 在这台服务器上。 Apache/2.4.23 (Win32) PHP/5.6.25 服务器位于 mysitefolder 端口 80"
首先,我不明白 .txt 扩展名的来源,也不知道如何解决这个问题。
使用 Windows 8.1、Apache 2.4.3 并选择了 mod rewrite。
请多多指教。
APACH 虚拟主机文件
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot c:/wamp/www
<Directory "c:/wamp/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName financejobs
ServerAlias financejobs
DocumentRoot "c:/wamp/www/financejobs"
<Directory "c:/wamp/www/financejobs">
AllowOverride All
Require local
</Directory>
</VirtualHost>
Codeigniter 应用程序 HTACCSS(用于财务工作)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /financejobs/
RewriteCond %{REQUEST_URI} ^jp_sys.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^jp_app.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
Options -Indexes
【问题讨论】:
-
你能添加你的 .htaccess 和你的虚拟主机吗?
-
@AndrewOsenga 我已经添加了这些
-
尝试将
RewriteBase /financejobs/更改为RewriteBase / -
@Condorcho 没有注意到,谢谢!如何将此标记为已回答?
-
酷,乐于助人。
标签: php apache .htaccess codeigniter wampserver