1

说了这么多,但是在我的 .htaccess 中使用它

    Options +FollowSymLinks -MultiViews

    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /

    ## removes index.php
    # Add/Hide index.php from everything except admin
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
    RewriteCond $1 !admin$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?$1 [L]

    ## hide .php extension
    # To externally redirect foo.php to foo
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
    RewriteRule ^ %1 [R,L,NC]

    ## To internally redirect /dir/foo to /dir/foo.php
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^ %{REQUEST_URI}.php [L]

将允许我使用 /admin 作为 url,但不允许我登录,

如果我删除这一行RewriteCond $1 !admin$ [NC],它会将 index.php 附加到 /admin 上,使其成为 index.php/admin 并且我看不到该页面

4

1 回答 1

1

你想达到什么目的?只是删除 index.php?如果是这样,这个 .htaccess 有效:

重写引擎开启
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
重写规则 ^(.*)$ /index.php/$1 [L]

然后你当然必须访问 /admin.php,或者如果你愿意,你可以把它放在一个名为 /admin 的目录中。

于 2012-07-20T20:29:20.407 回答