Jac*_*rky 5 .htaccess rewrite centos slim
我正在尝试从URL中删除index.php:
这很有效
http://server/bw/index.php/test
Run Code Online (Sandbox Code Playgroud)
这不起作用
http://server/bw/test
Run Code Online (Sandbox Code Playgroud)
我尝试改变.htaccess并在网上观看我看到它应该是这样的:
RewriteEngine On
RewriteBase /bw/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)
我尝试以这种方式编辑它:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)
或以这种方式:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /bw/index.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)
或以这种方式:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问http://server/bw/test它时,我说:
Not Found
The requested URL /bw/test was not found on this server.
Apache/2.2.15 (CentOS) Server at server Port 80
Run Code Online (Sandbox Code Playgroud)
我检查我的内部httpd.conf LoadModule rewrite_module modules/mod_rewrite.so是启用..我不知道现在该做什么..
我怎么解决?请帮我!
试试这个,例如在WordPress中使用
RewriteRule . index.php [L]
Run Code Online (Sandbox Code Playgroud)
或者这个,例如Lavavel PHP Framework使用的
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
您也可以考虑添加
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)
在RewriteRule之前还要排除现有目录,而不仅是现有文件.但这取决于你.