htaccess的URL重写,而忽略文件(htaccess url rewriting, ignor

2019-10-22 17:46发布

我想拿出一个重写规则,但我有问题。

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

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

我到目前为止有:

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

但是,这并不在所有的工作,它显示了一个404页说,当我测试的是文件丢失。 任何帮助深表感谢。

Answer 1:

要忽略存在只是忽略“的RewriteCond” S的文件。

只是重写进入服务的服务一切/到api.php?...

要把它放到你的服务文件夹。

小心你的编码,将文件保存为与您的服务器读取编码的.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]


文章来源: htaccess url rewriting, ignoring files