Regex .htaccess replace"/&引用;加上_&引用;
这是我当前的访问权限Regex .htaccess replace"/&引用;加上_&引用;,regex,.htaccess,Regex,.htaccess,这是我当前的访问权限 <IfModule mod_rewrite.c> # turn on rewrite engine RewriteEngine on # if request is a directory, make sure it ends with a slash RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*/[^/]+)$ $1/ # if not rewritt
<IfModule mod_rewrite.c>
# turn on rewrite engine
RewriteEngine on
# if request is a directory, make sure it ends with a slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*/[^/]+)$ $1/
# if not rewritten before, AND requested file is wikka.php
# turn request into a query for a default (unspecified) page
RewriteCond %{QUERY_STRING} !wakka=
RewriteCond %{REQUEST_FILENAME} wikka.php
RewriteRule ^(.*)$ wikka.php?wakka= [QSA,L]
# if not rewritten before, AND requested file is a page name
# turn request into a query for that page name for wikka.php
RewriteRule ^(.*)$ wikka.php?wakka=$1 [QSA,L]
</IfModule>
怎么可能像这样访问它们
www.domain.com/site/pool/Page/Example/Test
www.domain.com/site/pool/Page/Example/Test/edit
www.domain.com/site/pool/Page/Example/Test/edit?id=1
www.domain.com/site/pool/Page/Example/Test/history
www.domain.com/site/pool/Page/Number/Room
www.domain.com/site/pool/Page/Number/Room/edit
让htaccess仅更改“\”的“/”项
只有/history和/edit完成url名称,正常情况下没有/edit或/history。如果页面名称中有一到五个部分,例如
Page
Page/Page
Page/Page/Page
Page/Page/Page/Page
Page/Page/Page/Page/Page
每个元素都以大写字母开头,url的其他部分都是小写的,然后您可以通过四个替换来完成这一点(只有一个元素不需要替换)。例如,对于三件:
- 查找内容:
([A-Z][A-Z]+)\/([A-Z][A-Z]+)\/([A-Z][A-Z]+)(\/)?
- 替换为:
$1\u$2\u$3$4
- 每个部分
都是(…)
- 最后一个斜杠
是,并且是潜在的“编辑”或“历史”之前的斜杠\/?
- 在某些正则表达式风格中,不需要斜杠
,但这样做更安全:/
\/
- 每个
都是一个$[number]
- 警告!这些更换必须从最长到最短:五件,四件,三件,两件。否则,你会把事情搞得一团糟
此答案中的所有链接都来自。请考虑书签以备将来参考。特别是,请参见底部的在线正则表达式测试程序列表,这样您就可以自己尝试了。将此代码放入
/site/pool/.htaccess
:
RewriteEngine On
RewriteBase /site/pool/
RewriteRule "^(Page)/([^/]+)/([^/]+/.*)$" /$1/$2_$3 [L]
RewriteRule "^(Page)/([^/]+)/([^/]+)$" /$1/$2_$3 [L]
除了页面名称外,所有内容都是小写的吗?你想让我们为你写正则表达式吗?可以是的,只有页面名称有第一个大写字母leter。页面名称中总是有三个部分吗?可能吗?我试过使用regex,但仍然不走运,如果能提供一些指导,我将不胜感激。如果没有帮助,我将继续寻找解决方案,就像我已经做了几天了。。。
RewriteEngine On
RewriteBase /site/pool/
RewriteRule "^(Page)/([^/]+)/([^/]+/.*)$" /$1/$2_$3 [L]
RewriteRule "^(Page)/([^/]+)/([^/]+)$" /$1/$2_$3 [L]