【发布时间】:2017-06-27 07:25:57
【问题描述】:
当我在本地进行 URL 重写时,它工作正常,但当我上传它时,我在 GoDaddy 和 000webhost 中尝试过,但他们都说 404 no found。
我有一个域 (GoDaddy) 和一个子文件夹(与主域完全无关)。所以我只在子域中工作
http://maindomain.com/sub/
管理员模式在这个网址中
http://maindomain.com/sub/admin/
并且调用的控制器和动作是基于admin后的值
http://maindomain.com/sub/admin/controller/action/
这是我的 .htaccess 文件(本地)
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]
我做了很多在互联网上找到的调整,但我放弃了
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]
htaccess 文件位于子文件夹的根目录。
maindomain.com
|
`-sub
| |
| `admin
| | |
| | ...
| | `index.php
| |
| `.htaccess
...
【问题讨论】:
-
试试 ^sub/admin....
-
试了很多次还是找不到404 :///
-
当最后一行不是“^/reoc”而是“^reoc”时会发生什么
-
admin/index 也很可疑.. 你能打印你的根文件夹树吗?
-
.htaccess 是否被解释过?我通常通过将垃圾放入文件中并检查是否生成错误 500 来检查这一点
标签: php apache .htaccess url-rewriting