我在子目录(G:/ wamp / www / test)中有一个测试项目,它只有 index.php 和 .htaccess
我尝试通过将RewriteRule添加到.htaccess来制作友好的网址:
RewriteEngine on
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^/*$ index.php
这适用于所有其他项目,但它不适用于此项目。当我想访问这样的URL时:
http://localhost/test/TESTING_URL
我收到默认 404 Not Found 页面。但是,如果我这样做: http://localhost/test/index.php/TESTING_URL
- 它有效。
Apache错误日志给出了以下错误:
File does not exist: G:/wamp/www/test/TESTING_URL
答案 0 :(得分:0)
以下对我有用:
RewriteEngine on
RewriteBase /test/
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^/*$ index.php
确保此.htaccess文件位于test
目录中,并且在更高级别的任何.htaccess文件中没有任何冲突的重写规则。
否则唯一的区别是添加了RewriteBase行。