我目前正在尝试在本地机器上运行我的网页。但奇怪的是,尽管我使用了完全相同的指令和重写规则,但在服务器上有效的方法却无法在本地机器上运行。
实际情况是,对文件的每个请求都被处理为对目录的请求,例如
http://mysite/img/logo.png -> http://mysite/img/logo.png/
http://mysite/css/main.css -> http://mysite/css/main.css/
http://mysite/subfolder/page.html -> http://mysite/subfolder/page.html/
我的指示是:
DocumentRoot /var/www/url/to/site
<Directory /var/www/url/to/site/>
Options none +FollowSymLinks
AllowOverride All
allow from all
</Directory>
我的重写规则是:
RewriteEngine on
RewriteRule ^/?([a-zA-Z0-9-]+)(\/)?$ $1.html
RewriteRule ^/?(natur)?(wohl)?klang/([a-zA-Z0-9-]+)(\/)?$ /$1$2klang/$3.html
答案1
我设法通过改变目录指令来让它工作
<Directory /var/www/url/to/site/>
到
<Directory /var/www/url/to/site>
(请注意缺少的尾部斜杠)。