重写根 index.php 上的规则

rewrite rule on root index.php

我正在尝试仅在根 index.php 文件上重写 url。我不想为任何目录重写 url。 我在 htaccess 中使用它,它可以正常工作 index.php 的重写。 我翻了一下Whosebug,如果这个post已经存在,我没看到。

RewriteEngine On
DirectoryIndex index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.+) index.php?alias= [QSA,L]

谢谢!

要仅在根目录中执行此规则,您可以使用此规则:

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ index.php?alias= [QSA,L]

正则表达式 [^/]+ 将确保不匹配除根目录之外的任何内容。