htaccess url 重写,忽略文件

htaccess url rewriting, ignoring files

我正在尝试制定重写规则,但遇到了问题。

我需要什么 - 任何以 /services/XXX 开头的 url 被重定向到 /services/api.php?service=XXX

我还想忽略可能也匹配的任何文件或文件夹。

我目前拥有的:

RewriteRule ^services/([a-z]+)$ /services/api.php?service= [NC, L]

但这根本不起作用,它显示一个 404 页面,说我测试时文件丢失。 非常感谢任何帮助。

要忽略存在的文件,只需忽略 "RewriteCond"s。

只需将进入 services/ 的所有内容重写为 api.php?service ...

将其放入您的服务文件夹。

注意您的编码,将文件保存为 .htaccess,并使用您的服务器读取的编码。

# .htaccess mod_rewrite

RewriteEngine On

RewriteRule ^(.*)$ api.php?service= [QSA,L]

如果您不需要避开文件,那么只需转到:

# .htaccess mod_rewrite

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.*)$ api.php?service= [QSA,L]