我在使用 mod 重写时遇到了一些问题。服务器是 Ubuntu 12.04、Apache2、Php 5.4。
我想要这样的网址:
www.website.com/<modelName>/<imageNumber>
和
www.website.com/<modelName>
实际显示:
www.website.com/showimage.php?model=<modelName>&image=<imageNumber>
和
www.website.com/model.php?model=<modelName>
我把它放在 .htaccess 中:
RewriteEngine On
RewriteRule ^([^/]+)/([0-9]+)/?$ showimage.php?model=$1&image=$2 [R,L,NC,QSA]
RewriteRule ^([^/]+)/?$ model.php?model=$1 [R,L,NC,QSA]
我已经检查了 mod_rewrite 是否加载到 apache 中。但是页面只是不重定向。
编辑:澄清一下,结果是 404 '资源/此服务器上不存在'和'资源//此服务器上不存在'。
奇怪的是,我昨天正在玩它,并试图制定一个包含website.com/model/modelName的规则,而且现在似乎已经生效并且无法摆脱。我已经尝试重新启动 Apache 十次,清除浏览器缓存,甚至安装另一个我以前没有的浏览器,但昨天的顽固重定向即使在新浏览器 (FireFox) 中也继续进行。
我写的新重定向规则是否正确?
我如何将它们付诸行动?
我应该在 .htaccess 上设置 chmod 777 吗?
非常感谢...
编辑:这里有更多信息。
我只有一个(默认)站点,文件(包括 .htaccess)只是位于 /var/www
文件 /etc/apache2/sites-available/default 如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
除了 Directory / AllowOverride All 我没有改变任何东西
.htaccess 看起来像这样:
RewriteEngine On
RewriteLog "/etc/apache2/logs/rewrite.log"
RewriteLogLevel 9
RewriteBase /
RewriteRule ^([^/]+)/([0-9]+)/?$ showimage.php?model=$1&image=$2 [R,L,NC,QSA]
RewriteRule ^([^/]+)/?$ model.php?model=$1 [R,L,NC,QSA]
而且我已经无数次地运行 service apache2 restart 。
这个网址工作正常:
/showimage.php?model=Ai&image=12
这个没有:
/Ai/12
帮助!