欢迎来到我的厄运。
到目前为止,我的问题有些神秘。 在我的网站上完美运行的规则,但不在我的本地主机上。规则相当简单,但我无法找到解决血腥噩梦的伎俩。
我有一个像这样的网址http://frostpath.lx/access/articles 它是WAMP本地主机上的虚拟主机,具有此conf。
<VirtualHost frostpath.lx>
ServerName frostpath.lx
ServerAlias frostpath.lx
DocumentRoot "E:/Projects/frostpath"
<Directory "E:/Projects/frostpath/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
到目前为止这么好看似乎有效,网站正在运行,css加载,脚本,一切都很好。 mod_rewrite打开,我检查并重新检查在线找到的不同脚本。
但野兽并不满足。 .htaccess(我认为问题来自那里,但谁知道 - 我可能已经关注错误的事情几个小时)
RewriteEngine on
RewriteBase /
RewriteRule ^(access)$ access.php [NC,L]
RewriteRule ^(access)\/([^\.]+)$ access.php?$2 [NC,L]
RewriteRule ^(access)\/([^\.]+)\/([^\.]+)$ access.php?$2&start=$3 [NC,L]
基本上,
http://frostpath.lx/access/articles这只是重定向到access.php并且不会显示文章。
http://frostpath.lx/access?articles这个完美无缺。
但我不想要&#34;?&#34;我想要一个&#34; /&#34;。遵守规则.htaccess!
我尝试了东西,但到目前为止没有运气
/access.php?$2
/access?$2
/?access.php&$2
以上所有有和无斜线的东西。老实说,我在这里问,因为我的想法已经不多了。
此外,规则正在我的index.php上,但不在access.php上,这是另一个控制器。 Mindblown。
那么我的规则到底出了什么问题呢?
请帮助我,绝望正在慢慢伤害我的键盘。答案 0 :(得分:0)
您可以使用:
RewriteEngine on
RewriteBase /
RewriteRule ^access$ access.php [NC,L]
RewriteRule ^access/([^.]+)/([^.]+)$ access.php?$1&start=$2 [NC,L]
RewriteRule ^access/([^.]+)$ access.php?$1 [NC,L]
之前的文章规则。
或者改变你的第二条规则:
RewriteRule ^access/([^./]+)$ access.php?$1 [NC,L]
因为现在它也适用于第三种情况,因为/包含在第一组
中