[英]mod_rewrite - error with 2 variables
只是一个快速的,我正在使用这个规则,它工作正常:
RewriteRule ^([^/.]+)$ /profile.php?id=$1
因此,mysite.com/anything 的任何内容都将被读取为 mysite.com/profile.php?id=anything 这一切都很好。
然后我需要添加另一个变量,所以我使用了:
RewriteRule ^([^/.]+)/([^/.]+)$ /profile.php?id=$1&vid=$2
哪种有效,但它不加载任何 css、js、外部 php ......我想这就是它在不同文件夹中查找的原因,我不知道如何告诉它从根文件夹中获取其他文件。
有任何想法吗?
那是因为您正在使用 htaccess 创建虚拟文件夹。 如果要正确加载 CSS 和 JS,请使用绝对路径或在相对路径之前添加../ (这意味着“一个文件夹向上”)。
另一种可能性是添加<base href="www.example.com">
。 这将导致所有新请求(对于图像、外部文件等)都相对于该路径,而不是当前地址。
你可以加
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
不要重写 URL 如果有这个 URL 的文件
在 RewriteRule 之前添加下 2 行
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.