首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Htacces mod_rewrite子目录

问Htacces mod_rewrite子目录
EN

Stack Overflow用户
提问于 2013-05-08 16:36:56
回答 1查看 141关注 0票数 0

我的.htaccess mod_rewrite有问题。我做了一个简单的定制CMS,并将它放在域的一个子目录中;http://www.example.com/cms

我有以下情况:

cms/index.php?page=/pages/index.php转换为 cms/modules/pages/index

和cms/index.php?page=modules/pages/edit.php?id=1 转换为cms/模块/页面/编辑/1

我让它与子域一起工作,但是当我使用example.com/cms时,它什么也不做

我做了这个.htaccess,但我没能让它工作.

代码语言:javascript
复制
RewriteEngine On
Options +FollowSymlinks
RewriteBase /


RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]



RewriteRule ^(.*?)$ $1 [L]

RewriteRule ^/cms/([^/]*)/$ cms/index.php?page=$1 [L,QSA]
RewriteRule ^/cms/([^/]*)$ /cms/index.php?page=$1 [L,QSA]
RewriteRule ^/cms/pages/([^/]*)/$ /cms/index.php?page=pages/$1 [L,QSA]
RewriteRule ^/cms/pages/([^/]*)$ /cms/index.php?page=pages/$1 [L,QSA]
RewriteRule ^/cms/modules/([^/]*)/([^/]*)/$ /cms/index.php?page=modules/$1/$2 [L,QSA]
RewriteRule ^/cms/modules/([^/]*)/([^/]*)$ /cms/index.php?page=modules/$1/$2 [L,QSA]
RewriteRule ^/cms/modules/([^/]*)/([^/]*)/([^/]*)$ /cms/index.php?page=modules/$1/$2&id=$3 [L,QSA]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 21:28:21

如果这是在htaccess文件中,URI的前缀就会被删除(前面的斜杠),所以这些模式不会匹配任何东西。要么从模式中删除前面的斜杠,要么使其可选(使用?):

代码语言:javascript
复制
RewriteRule ^/?cms/([^/]*)/$ cms/index.php?page=$1 [L,QSA]
RewriteRule ^/?cms/([^/]*)$ /cms/index.php?page=$1 [L,QSA]
RewriteRule ^/?cms/pages/([^/]*)/$ /cms/index.php?page=pages/$1 [L,QSA]
RewriteRule ^/?cms/pages/([^/]*)$ /cms/index.php?page=pages/$1 [L,QSA]
RewriteRule ^/?cms/modules/([^/]*)/([^/]*)/$ /cms/index.php?page=modules/$1/$2 [L,QSA]
RewriteRule ^/?cms/modules/([^/]*)/([^/]*)$ /cms/index.php?page=modules/$1/$2 [L,QSA]
RewriteRule ^/?cms/modules/([^/]*)/([^/]*)/([^/]*)$ /cms/index.php?page=modules/$1/$2&id=$3 [L,QSA]

此外,您的第一个规则可以简化为:

代码语言:javascript
复制
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^ - [L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16445798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档