当我在本地进行URL重写时,它运行正常,但是当我上传它时,我在GoDaddy和000webhost中尝试了它,但是他们都说404没有找到。
我有一个域(GoDaddy)和一个子文件夹(与主域完全无关)。所以我只在子域工作
$<TARGET_OBJECTS:objlib>
管理员模式位于此网址
http://maindomain.com/sub/
调用的控制器和操作基于admin
之后的值http://maindomain.com/sub/admin/
这是我的.htaccess文件(本地)
http://maindomain.com/sub/admin/controller/action/
我在互联网上做了很多调整,但我放弃了这个
Options +FollowSymLinks
Options -Indexes
RewriteEngine On
RewriteBase /reoc/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/(.+)$ admin/index.php?URI=$1 [QSA,L]
htaccess文件位于子文件夹的根目录。
DirectoryIndex index.php
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/reoc/admin/(.*)$ %{HTTP_HOST}/reoc/admin/index.php?URI=$1 [QSA,L]
答案 0 :(得分:1)
我会发布我最后的htaccess给那些挣扎并且会挣扎的人:)
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} /subfolder/admin/
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^subfolder/admin/(.*)$ /subfolder/admin/index.php?URI=$1 [QSA,L]
感谢IvoP所有耐心:)
答案 1 :(得分:0)
我会将文件test.php放在/ reoc / admin /
中该文件的内容:
<?php echo __FILE__; echo '<br>' . $_SERVER['REQUEST_URI'] ?>
在.htaccess中的重写规则之前放置一个# 检查您是否可以访问test.php
check / reoc / admin / users确实给出错误404
然后在.htaccess
RewriteRule reoc/admin/users /reoc/admin/test.php
如果这样做:请务必在规则之前添加-f en -d Cond行。
现在从规则中删除“用户”部分。
结果是什么?