XAMPP Mod_Rewrite 和 XAMPP Mod_Rewrite 动态CSS
我在本地计算机 (mac) 上运行 Apache,并在 XAMPP 的 httpd.conf 文件中启用了 Mod_Rewite 并设置了 Allowoveride All。
这些是我的规则,httpd.conf 文件的片段 -
RewriteEngine On
RewriteRule ^/setup/css/userlayout.css /setup/css/userlayout.php
Alias /ms "/Users/web/wwwroot/ms"
<Directory "/Users/web/wwwroot/ms">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
在我的 index.php 文件中 -
<link rel="stylesheet" type="text/css" href="setup/css/userlayout.css?u=1" />
在我的 userlayout.php 文件中 -
<?php
header('Content-type: text/css');
echo "#test{background-color:#000;}";
?>
这就是一切,但规则不执行任何操作。 我不确定我是否将规则放在正确的位置,并且我知道您可以在 httpd.conf 文件而不是 .htaccess 文件中执行此操作。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
RewriteRule ^/setup/css/userlayout.css$ /setup/css/userlayout.php
您可以查看更多关于RewriteRule 此处。
RewriteRule ^/setup/css/userlayout.css$ /setup/css/userlayout.php
You can see more about RewriteRule here.
我明白问题出在哪里了。 XAMPP 设置需要“Options +FollowSymLinks”行才能使 mod_rewrite 正常工作。 此外,它必须放置在目录标记内,而不是放置在目录标记之外,因为重写规则适用于每个目录,这就是我在“RewriteBase /”指令上收到错误的原因。
因此完整的代码是:
I figured out what the problem was. XAMPP setup requires the line "Options +FollowSymLinks" for mod_rewrite to work. Also this has to be placed within the directory tag not outside of it as rewrite rules work per directory which is why i was receiving the error on "RewriteBase /" directive.
Thus the full code is: