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文件但是你可以看到它将触发无限循环的重新定位。
知道如何解决这个问题吗?谢谢你的帮助!
答案 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。