人类可读的网址与htaccess

时间:2013-03-05 15:50:14

标签: apache .htaccess mod-rewrite

我在网站的根文件夹中有这样的.htaccess:

DirectoryIndex index.php
RewriteEngine On

Options -indexes

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

这是由安装的某个CMS创建的。

我在根文件夹中有一个名为test的文件夹。 问题是:

  • 如何从全局(root htaccess)重写规则中删除此文件夹

  • 这个文件夹有自己的htaccess。在那里添加什么以允许我这样做:

   site.com/test/some-data
   --->
   site.com/test/?id=some-data

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您可以在根目录中的.htaccess文件中尝试:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !index\.php     [NC]
RewriteCond %{REQUEST_URI} !test           [NC]
RewriteRule (.*)           index.php       [L,NC]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^test/([^/]+)/? /test/?id=$1   [L,NC]

/test目录中不需要另一个.htaccess文件。只使用这个。

答案 1 :(得分:0)

如果你想在你的测试目录中单独使用.htaccess,那么这个就足够了

RewriteEngine On

RewriteCond %{QUERY_STRING} !.
RewriteRule .+ ?id=$0