我几乎到处都读过,我禁用了MultiViews, a2enmods重写,以及几乎所有我能找到的东西。
My .htaccess文件:
RewriteEngine on
RewriteRule ^PHP/ig/profile.php?user=([A-Za-z0-9]+)$ /PHP/ig/profile/$1 [L]
我的网站配置:
<VirtualHost *:80>
ServerAdmin admin@espionage.pw
DocumentRoot /var/www/espionage.pw/public_html
ServerName espionage.pw
ServerAlias www.espionage.pw
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/espionage.pw/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我的。htaccess文件在/var/www/espionage.pw/中我可以确认它正在被读取,因为当我输入随机字符时,在试图连接到我的网站时出现错误。
我真不知道该怎么办才好。请提出任何可能有帮助的建议。我花了一整天的时间在这件事上,我开始生气了。谢谢你的帮助。
编辑:我在error.log中也有一个错误[Fri Aug 22 19:00:35.168341 2014] [negotiation:error] [pid 20230] [client myip:62633] AH00687:协商:发现文件匹配请求:/var/www/间谍pw/public_html/PHP/ig/profile(无可协商).
我删除了MultiViews,所以这个问题应该已经解决了。
我也试过了:
RewriteRule ^/PHP/ig/profile.php$ /PHP/index.php [L]
没有将/PHP/ig/profile.php重写为/PHP/index.php
您的文档根目录是:
DocumentRoot /var/www/espionage.pw/public_html
你说你的.htaccess
文件位于文件夹:
/var/www/espionage.pw
Apache将永远不会从/var/www/espionage.pw
提供文件,因为它不是文档根目录的一部分,所以您的.htaccess
文件将不会被读取或使用。
你需要把你的.htaccess
文件放在/var/www/espionage.pw/public_html
文件夹或文件夹内的一个文件夹,如果你想限制它的使用子文件夹
只是为了确定,因为完整的。htaccess没有发布…你把
RewriteEngine On
在规则之前?