在URL apache中检测单个斜杠


Detect Single Slash in URL apache

我在检测URL中的单斜杠时遇到问题,我想要的URL是

http://sitename.com/username

通过这个重写规则,我可以捕获用户名,但它也适用于不需要的前导斜杠。

RewriteRule ([A-Za-z0-9]+){0,1}$ index.php?c=profile&val=$1 [NC,L]

^起始符号没有返回任何结果所以我已经删除了它,现在我在本地主机上测试所以我的测试url是

http://localhost/projectname/username

http://sitename.com/username

这是我完整的。htaccess

RewriteEngine On
RewriteBase /projectname/
RewriteCond $1 !^(maintainance'.php|index'.php|files|images|robots'.txt|css|js)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [PT,L]
RewriteRule ^([A-Za-z0-9]+){0,1}$ index.php?c=profile&val=$1 [NC,L]

谁能告诉我如何通过rewriteRule捕获单个斜杠用户名

任何帮助都将非常感激。

谢谢

请尝试使用下面的htaccess脚本。在val中,您可以获得url值。通过/爆炸,可以得到用户名。

RewriteEngine On
RewriteBase /projectname/
RewriteRule ^([A-Za-z0-9]+){0,1}$ index.php?c=profile&val=%{REQUEST_URI} [L,NC,QSA]