Mod_rewrite和复杂的重定向技术建议

时间:2011-11-07 21:59:56

标签: php mod-rewrite

我试图解决这个问题。我有一个带有这种简化结构的网站:

mysite.com/index.php
mysite.com/faq.php
mysite.com/url.php
mysite.com/users/some_content_here

如果用户调用索引页面或 faq 页面,则必须到达该页面。但是如果用户写了类似mysite.com/ xgsfd (或任何其他不同于 index faq 的字符串),他们必须调用url .php通过GET重新接收 xgsfd 字符串,并将用户重定向到特定页面。

url.php脚本已经完成,但我不知道如何解决其他部分,我正在考虑在根目录中使用.htaccess文件但是你可以看到它将触发无限循环的重新定位。

知道如何解决这个问题吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:4)

您可以使用重写条件来提供文件,文件夹和符号链接(如果它们确实存在),否则重写为url.php:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ url.php?url=$1 [QSA,L]

这样就可以提供对faq.php或index.php的请求,而对mysite.com/xgsfd的请求最终会被重写为url.php?url = / xgsfd。