【问题标题】:htaccess ignore specific directory in URI - treat same as roothtaccess 忽略 URI 中的特定目录 - 与 root 相同
【发布时间】:2014-01-08 15:43:55
【问题描述】:

现在已经找了几个小时没有成功。
我希望所有包含 /en/ 的 url 忽略这部分,但继续使用 htaccess 中的所有其他规则(如 php 到无扩展规则)。

示例
www.domain.com/en/gallery -> 应该指向我的服务器根目录中的gallery.php
www.domain.com/gallery -> 还应该指向我的服务器根目录中的gallery.php
(以后必须以某种方式处理此处的重复内容)
www.domain.com/en/contact -> 应该指向我的根目录中的contact.php

谢谢

U P D A T E
就像我的问题中提到的那样,我希望所有其他规则仍在运行。
只有此规则不适用于以下解决方案,因为它应该适用 www.domain.com/en/category1 AND www.domain.com/category1 所以有或没有 EN。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !(\.png|\.jpg|\.gif|\.jpeg|\.bmp|\.css|\.js|\.ico)$
RewriteRule ^([^/]+)/? /categories.php?rw=1&url=$1 [L,QSA]

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^(?:en/)?([^/]+)/?$ $1.php [L]
    

    更新:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !\.(png|jpe?g|gif|bmp|css|js|ico)$
    RewriteRule ^(?:en/)?([^/]+)/?$ categories.php?rw=1&url=$1 [L,QSA]
    

    【讨论】:

    • 谢谢你的作品!只有一条规则不再起作用 - 请参见上文!
    • 谢谢。更新规则 www.domain.com/en/category1 没问题,但 www.domain.com/category1 会给出 404。
    • 完美!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 2014-05-18
    • 1970-01-01
    • 2012-04-28
    • 2012-10-02
    • 2012-09-16
    相关资源
    最近更新 更多