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]
我正在尝试制定重写规则,但遇到了问题。
我需要什么 - 任何以 /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]