好吧,我只是想为网站设置一个简单的重写规则。 首先,在httpd.conf中我有
LoadModule rewrite_module modules/mod_rewrite.so
然后在一个单独的文件中我有这个别名设置
Alias /vworker/ "f:/vWorker/"
<Directory "f:/vWorker/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
现在好了,所以网站的目录是
f:/vWorker/urlmask
在那里我有一个.htaccess文件,上面写着这个
RewriteEngine on
RewriteRule ^redirect/([0-9]+)/?$ index.php?redirect=$1 [L]
现在,我想要的是,如果我转到网址http://localhost/vworker/urlmask/redirect/3161513,它实际上会调用http://localhost/vworker/urlmask/index.php?redirect?3161513
从我的观点来看,一切似乎都设置正确,如果我在我的.htaccess文件中乱码,我会收到服务器错误,所以我知道它正在阅读它。
我最终得到的是一个页面,上面写着“未找到。在此服务器上找不到请求的URL / vworker / urlmask / redirect / 94173336828903446”。 我有什么想法吗?
答案 0 :(得分:0)
一般情况下,只要您有Alias
,就需要RewriteBase
才能让事情按预期进行。
在你的情况下,你应该
RewriteBase /vworker/urlmask/
与你的规则相同.htaccess。