这是我的.htaccess
文件
RewriteCond %{REQUEST_FILENAME} !-f
<FilesMatch “.(ttf|otf|eot|woff)$”>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin “domain.com”
</IfModule>
</FilesMatch>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^[A-Za-z-]+/([A-Za-z0-9-]+)/?$ viewpost.php?id=$1 [QSA,NC,L]
RewriteRule ^[A-Za-z-]+/([A-Za-z0-9-]+)/?$ category.php?id=$1 [QSA,NC,L]
除了第一个重写规则有效,第二个没有。
答案 0 :(得分:0)
这是因为你在第一个RewriteRule
的末尾使用了标志[L]。
[L]标志使mod_rewrite停止处理规则集。在 大多数情况下,这意味着如果规则匹配,则没有进一步的规则 将被处理。这对应于Perl中的最后一个命令,或 C中的break命令。使用此标志指示当前 应立即应用规则而不考虑进一步的规则。
Rewrite Flags上的文档。