我在我的网站上使用了这个规则:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
Options -Multiviews
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.erecruitmentportal.com$
RewriteRule ^(.*) http://erecruitmentportal.com/$1 [QSA,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ employers/page.php?page=$1 [L]
</IfModule>
当一个人登录到网站时,它只在/employers/目录中设置会话。这意味着只有该目录下的文件才能访问会话。
现在将url从http://example.com/name重写为http://example.com/employers/page.php?page=$1后,
- 我无法再次访问我的会话
- 在雇主文件夹中,我有一个文件夹-徽标,现在我不能从page.php访问徽标/图片.jpg(这是url重写的版本)。它仍然从根目录看到页面。
我认为这是一个重写基础问题,所以我如何修改这个,使它能很好地工作,而不影响其他规则可能遵循
感谢编辑
这是我的会话设置:
session_start();
session_set_cookie_params ( $this->sessiontimeout, $this->subdomain, $this->website, 0, 1 );
//i want the session to be available only to files in a particular folder
ini_set('session.use_only_cookies', 1);
对于图片,您必须将其命名为/employers/logos/pic.jpg
至于会话,你用错了。
使用一些代码逻辑检查权限,而不是笨拙的HTTP请求。
让你的会话在任何地方都可用,但只在特定文件夹中的文件中检查这些会话
在你的页面头部标签之间添加基础url,如http://example.com/mysite。不要把WWW放在你的基础url。这是我们的页面从