【发布时间】:2014-03-25 15:56:09
【问题描述】:
我有一个 RewriteRule 可以在我的网站上重命名我的 URL,允许字母和空格通过。我想知道如何更改我的正则表达式以在 URL 中也允许单引号和句点。这是我的 .htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^(\w+)$ ./index.php?role=$1
RewriteRule ^(\w+)/$ ./index.php?role=$1
RewriteRule ^([\w]+)/([\w\s]+)&([\s\w]+)$ ./result.php?role=$1&champ1=$2&champ2=$3
【问题讨论】:
-
你逃脱他们,就像你的第 8 行:
\.和\' -
@Martijn 那么底线看起来像:
RewriteRule ^([\w]+)/([\w\s\.\']+)&([\s\w\'\.]+)$ ./result.php?role=$1&champ1=$2&champ2=$3吗? -
@user1895377:应该可以。如果不提供您要匹配的示例 URI。
标签: php regex apache .htaccess mod-rewrite