可能重复:
我的网络主机添加 ?PHPSESSID=fgh2h45... 到 URL 的末尾
如何在 Symfony2 中删除 PHPSESSID
我用 Symfony 2 开发了我的网站,所以我尝试从 URL 中删除 PHPSESSID,然后我将这段代码放入 /web/.htaccess 中:
SetEnv SHORT_OPEN_TAGS 0
SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
SetEnv SESSION_AUTOSTART 0
SetEnv ZEND_OPTIMIZER 1
SetEnv PHP_VER 5_4
DirectoryIndex app.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
#remove PHPSESSID
RewriteCond %{QUERY_STRING} PHPSESSID=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]
</IfModule>
然后我注释上面的代码禁用了 PHPSESSID,但它会产生另一个问题,我的 app.php 出现在我网站的所有 URL 中:
www.mysite.com/app.php/.....
所以我不知道我能做什么,我想我遇到了新问题,因为我使用了多个 RewriteRule。