【问题标题】:snow leopard, mod_rewrite, codeigniter雪豹,mod_rewrite,codeigniter
【发布时间】:2009-11-18 18:22:15
【问题描述】:

伙计们,我在雪豹上遇到了各种各样的 mod_rewirte 麻烦。任何人都知道任何关于雪豹和 mod_rewrite 的体面文章吗?或者也许是一个简单的分步指南。我想做的是设置codeigniter,这样网址看起来“漂亮”。

所以

localhost/~myusername/ci_app/index.php/mycontroller/myaction

会变成

localhost/~myusername/ci_app/mycontroller/myaction

谢谢

【问题讨论】:

  • “各种麻烦”?请多说。您使用的是 .htaccess 文件还是 Apache 配置? (如果可以避免使用 .htaccess 文件,请不要使用它们,它们更难,而且有一点问题。)

标签: mod-rewrite codeigniter


【解决方案1】:

根据CodeIgniter documentation,您应该使用:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

【讨论】:

    【解决方案2】:

    试试这个规则:

    RewriteEngine on
    RewriteBase /~myusername/ci_app/
    RewriteRule ^[^/]+/[^/]+$ index.php/$0 [L]
    

    【讨论】:

    • 这个 .htaccess 文件在哪里?在我的用户站点文件夹(localhost/~myuser)中?还是实际的 serverDocument 文件夹(localhost)?
    • @dotty:我以为你想把它放在你的/Users/myusername/Sites/ci_app/ 目录中。
    • 这行得通(在我添加了 Options +FollowSymlinks 行之后)但是我无法加载 css/style.css 任何想法?
    • @dotty:您可能只是错误地引用了您的资源,因为像 css/style.css 这样的相对 URL 路径是从当前文档的 URL 路径解析的。因此,在您请求 /~myusername/ci_app/index.php/mycontroller/myaction 的情况下,基本 URL 路径正是该 URL 路径。 css/style.css 将被解析为 /~myusername/ci_app/index.php/mycontroller/css/style.css 而不是 /~myusername/ci_app/css/style.css,如您所想。因此,请使用绝对 URL 路径 /~myusername/ci_app/css/style.css 来引用该资源或更改基本 URL(请参阅 BASE HTML 元素)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 2010-11-02
    • 2012-09-04
    相关资源
    最近更新 更多