删除URL参数和index.php文件名



我需要一些推送,我有一个网址结构是这样的

domain.com/folder/index.php ? name = asdasdAs2

如何删除URLindex.php?name=的这一部分,使其看起来像这样

domain.com/folder/asdasdAs2

传递的值(asdasdAs2)有时也包含这些符号(。)或(-)或(_)所以它看起来像(asd.asdAs2)或(asdasd_As2)或(asd-aSd-As2)

我一直在尝试用这段代码在我的。htaccess文件,但它不工作。

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule ^/folder/(.*) /folder/index.php?name=$1

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>

和这个

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)$     $1/index.php?name=$2 [L]

最后一个执行该工作,但只包含字母数字单词ex.(asdasdAs2),而不包含(asd.asd)或(asd_asdas2)

对于您所显示的示例,请尝试以下。htaccess规则文件。

请务必:

  • 将。htaccess文件与文件夹folder一起保存。
  • 在测试url之前清除浏览器缓存
RewriteEngine ON
##External redirect rules here.
RewriteCond %{THE_REQUEST} s/(folder)/index.php?name=(S+)s [NC]
RewriteRule ^ /%1/%2? [R=301,L]
##Internal rewrite rules from here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/?$ $1/index.php?name=$2 [QSA,L]

最新更新