在不使用 .htaccess 文件的情况下,我应该将 RewriteRules 放在 Apache2 中的哪里?
我想在不使用 .htaccess 文件的情况下配置 mod_rewrite 规则。当我将规则放入 .htaccess 文件中时,它们可以正常工作,但我更愿意将所有配置保留在 /etc/apache2/sites-available/[site name] 配置文件中。
当我将相同的 RewriteRules 放入 VirtualHost 或 Directory 指令中时,没有任何效果。我做错了什么?这是我的 VirtualHost 配置文件中的一个示例:
<Directory />
Options FollowSymLinks
# AllowOverride is on for the .htaccess files to work
AllowOverride All
RewriteEngine On
RewriteRule ^oldsite\.php$ newsite.php
</Directory>
我想我可能忽略了 apache2.conf 文件中的某些指令,但我不确定。帮助。 :)
I want to configure a mod_rewrite rule without using .htaccess files. When I put rules in .htaccess files they work fine, but I would prefer to leave all of the configuration in my /etc/apache2/sites-available/[site name] config file.
When I place the same RewriteRules within the VirtualHost or Directory directives, nothing works. What am I doing wrong? Here is a sample from my VirtualHost config file:
<Directory />
Options FollowSymLinks
# AllowOverride is on for the .htaccess files to work
AllowOverride All
RewriteEngine On
RewriteRule ^oldsite\.php$ newsite.php
</Directory>
I'm thinking I might be overlooking some directive within the apache2.conf file, but I'm not sure. Help. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用
RewriteRule
模式,这意味着对于 .htaccess 文件。原因:因此,请使用完整的 URL 路径尝试此规则:
You’re using a
RewriteRule
pattern that is meant for an .htaccess file. The reason:So try this rule with the full URL path: