我试图创建一个虚荣心url,以便用户配置文件可以很容易地被其他人查看。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^(.*)$ http://localhost/test/public/profile.php?username=$1 [NC]这是代码,但是每次在我的.htaccess文件中使用这段代码时,我都会得到500个内部服务器错误,并且子文件夹公用程序会从我的目录中消失。我做错什么了?我需要先做任何配置吗?
发布于 2016-03-21 11:17:29
最好使用全局重写逻辑:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]在您的$_SERVER'REQUEST_URI'中,捕获index.php,如果存在用户,则响应,如果没有,则将处理传递给下一个过程。
但是,如果你坚持实现是有问题的,那么就试试下面这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ profile.php?username=$1 [L,QSA]发布于 2016-03-21 11:12:24
检查一下这个:
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^profile/([a-zA-Z0-9_\-/]+)$ test/public/profile.php?username=$1 [L,NC]
</IfModule>不过,请注意:
RewriteBase指令。https://stackoverflow.com/questions/36129214
复制相似问题