我需要将网址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无法加载),我做错了什么?
答案 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]