1

我正在尝试提出一个重写规则,但我遇到了问题。

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

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

到目前为止我所拥有的:

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

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

4

1 回答 1

1

要忽略存在的文件,只需忽略“RewriteCond”。

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

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

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

# .htaccess mod_rewrite

RewriteEngine On

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

如果您不需要避免使用文件,则只需转到:

# .htaccess mod_rewrite

RewriteEngine On

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

RewriteRule ^(.*)$ api.php?service=$1 [QSA,L]
于 2015-04-21T03:58:18.187 回答