.htaccess 如何在重写规则中处理连字符(-)符号?
我提出了以下重写规则,将php文件作为目录处理:.htaccess 如何在重写规则中处理连字符(-)符号?,.htaccess,mod-rewrite,rewrite,.htaccess,Mod Rewrite,Rewrite,我提出了以下重写规则,将php文件作为目录处理: www.domain.com/name.php -> www.domain.com/name/ www.domain.com/name -> www.domain.com/name/ www.domain.com/name/ -> www.domain.com/name.php 但是,如果标题中有连字符(-)符号,则不会在结尾添加尾部斜杠,最终将显示404页。 不起作用的示例: www.domain.com/stack-ove
www.domain.com/name.php -> www.domain.com/name/
www.domain.com/name -> www.domain.com/name/
www.domain.com/name/ -> www.domain.com/name.php
但是,如果标题中有连字符(-)符号,则不会在结尾添加尾部斜杠,最终将显示404页。
不起作用的示例:
www.domain.com/stack-overflow -> 404 page
www.domain.com/stack-overflow/ -> 404 page
当前重写代码:
# 404 page
ErrorDocument 404 /404.php
# Add automatic a trailer slash on the end
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]
# Decline direct access to .php files, redirect .php to name/
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(\w+)\.php$ $1/ [R=301]
# name/ to the right .php file
RewriteRule ^(\w+)/?$ /$1.php
有人有办法处理带有连字符(-)的标题吗
提前谢谢。
亲切问候,,
M只需替换以下内容:
\w
。。。为此:
[\w-]
Apache的mod_重写基本上遵循Perl regexp语法