htaccess忽略URI中的特定目录 - 将其视为root

时间:2014-01-08 15:43:56

标签: regex apache .htaccess mod-rewrite

现在一直在寻找几个小时而没有成功 我希望所有包含/en/的网址都忽略此部分,但继续使用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/category1www.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]

1 个答案:

答案 0 :(得分:0)

将此代码放入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]