问题基本上是这样的:
我有一个网址:site.com?go=1&do=2&action3&id=4
如果我使用这样的重写方法:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9_-]+)$ /index.php?go=$1
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?go=$1&do=$2
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?go=$1&do=$2&action=$3
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?go=$1&do=$2&action=$3&id=$4
它仅适用于第一个斜杠。例如:
site.com/go
- >这可行,但这个site.com/go/do
打破整个页面,它找不到css,imgs,什么都没有!我该如何解决?
谢谢!
答案 0 :(得分:1)
您需要将<base>
标记设置到您的头部并将您的域名放入href
<head>
<base href="http://www.sample.com/">
</head>
答案 1 :(得分:0)
根据您网址的结构,您可能希望确保您的网址是反向引用的。查看https://httpd.apache.org/docs/trunk/rewrite/flags.html