我怎样才能重写一个'子文件夹'到一个脚本?

时间:2017-08-09 12:11:17

标签: .htaccess

我需要将网址example.com/servers/1/重定向到PHP脚本(example.com/serverinfo.php),该脚本将请求的网址的1部分作为GET变量(或类似的)接收。

我目前有一条规则RewriteRule ^([^/.]+)$ $1.php,可以将example.com/servers等网址重写为example.com/[file].php,并尝试将以下规则作为基础:

RewriteRule ^/?servers/([0-9]+)$/ /serverinfo.php$

新规则没有效果(除了导致页面的CSS无法加载),我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以使用:

Options -MultiViews
RewriteEngine On

# handle /servers/123
RewriteRule ^/?servers/([0-9]+)/?$ /serverinfo.php?num=$1 [L,QSA,NC]

# add .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]