【问题标题】:remove index.php but keep first segment expression engine删除 index.php 但保留第一段表达式引擎
【发布时间】:2013-03-16 20:08:05
【问题描述】:

我正在做我的第一个表达式引擎站点.. 我想删除 index.php.. 我读了很多书并尝试了基本的表达式引擎重写“删除”,但是因为我根据语言重定向了我的站点。 .我很确定有更好的方法! 我在 index.php 之前有一个 lang 前缀,例如:domain.com/en/index.php/segment1/.... 现在我使用:

RewriteCond $2 !\.(index|css|js|gif|jpe?g|png|robot.txt|sitemap.xml) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)?/([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?$ /$1/index.php?/$2/$3/$4/$5 [L]

有没有更好或更好的方法!?

它的工作,但如果我有超过 4 段,我将不得不添加 6 美元等等.. 肯定有更好的方法...

问候..

编辑:

ChannelImages (DevDemon) 和/或 ChannelFiles 仍有 1 个问题。我需要使用 domain.com/?ACT=XX xx 来测试上传位置 xx 是一个数字。

我尝试添加 RewriteCond %{REQUEST_URI} !^(ACT=.*)$ [NC]

现在页面被重定向到主页.. /fr 或 /en..

【问题讨论】:

    标签: mod-rewrite expressionengine


    【解决方案1】:

    假设传入的 URL 结构总是这样的:

    http://domain.com/LangCode/anything

    其中LangCodeanything 是变量,您可以在根目录下的一个.htaccess 文件中尝试:

    Options +FollowSymlinks -MultiViews
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_URI}  !\.(index|css|js|gif|jpe?g|png) [NC]
    RewriteCond %{REQUEST_URI}  !(robot.txt|sitemap.xml)        [NC]
    RewriteCond %{REQUEST_URI}  !index\.php                     [NC]
    RewriteRule ^([^/]+)/(.*)/?$  /$1/index.php?/$2             [NC,L]
    

    静默映射到:

    http://domain.com/LangCode/index.php?/anything

    对于永久且可见的重定向,请将 [NC,L] 替换为 [R=301,NC,L]

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多