【发布时间】:2011-03-01 13:13:26
【问题描述】:
我一直在尝试编写一组 htaccess 规则来执行以下操作:
-
使用网址: mydomain.com/blog/something
如果一个名为 blog.php 的文件存在于
网络目录(目录与 index.php 中)然后重定向到
blog.php?url=something如果 blog.php 不存在,则重定向 到 index.php?url=blog/something
编辑:mydomain.com/blog/something 是一个例子,它可以是任何 url 字符串,htaccess 应该在 web 目录中搜索与 url 字符串的第一部分相对应的文件,其中在这种情况下是“博客”
在这两种情况下,我都可以使用 $_GET['url'] 从 url 获取参数以启动我的 php 脚本中的任何操作。
我目前有:
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(.*)$ $1.php?url=$2 [L]
RewriteRule ^(.*)$ index.php?url=$1 [L]
</IfModule>
但不幸的是,这不起作用,我不知道为什么,我对 php 足够精通,但我的 htaccess 技能非常有限。我不知道 [L] 选项是我应该使用的选项还是应该使用更多选项。目前无论 url 字符串是什么,$_GET['url'] 返回“index.php”。
如果需要更多信息,请询问。
希望有人能帮忙 问候 卢克
【问题讨论】: