子文件夹的htaccess重写规则(不错的网址)

时间:2016-03-02 20:46:11

标签: php apache .htaccess mod-rewrite

我试图找出如何在子文件夹中工作" admin"在root目录中工作的同样的事情,问题是我不知道该怎么做。

目前我有:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?arg=$1 [L,QSA]

# /
RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]

现在它的工作原理如下: http://example.com/page转换为http://example.com/?arg=page

我还想做的是: http://example.com/admin/page转换为http://example.com/admin/?arg=page

我根本不知道如何实现这一目标,有人可以帮助我吗?

由于

2 个答案:

答案 0 :(得分:3)

您可以将这些规则与适当的RewriteBase

一起使用
RewriteEngine On
RewriteBase /admin/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?arg=$1 [L,QSA]

答案 1 :(得分:1)

或者只是添加

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/admin/(.*)$ admin/index.php?arg=$1 [L,QSA]