我正在尝试为单个文件viewprofile.php
编写.htaccess脚本,该文件有一个参数,但这似乎不起作用:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^viewprofile$ viewprofile.php?mem=$1 [QSA, L]
RewriteRule ^viewprofile$ /viewprofile.php?mem=$1 [QSA, L]
RewriteRule ^([a-zA-Z0-9-\w]+)$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9-\w]+)/$ index.php?p=$1
理想情况下,我希望结果显示为www.example.com/viewprofile/JHFSD667
而不会干扰index.php文件。 viewprofile.php
和index.php
都位于同一目录中。
答案 0 :(得分:1)
您必须删除[QSA, L]
中的空格。
然后,您必须添加捕获组才能将个人资料转换为mem
。
或者,您可以通过添加index.php
仅为/?
使用一个规则。
RewriteRule ^viewprofile/([\w\d]+)$ viewprofile.php?mem=$1 [QSA,L]
RewriteRule ^([a-zA-Z0-9-\w]+)/?$ index.php?p=$1