我需要一些推送,我有一个网址结构是这样的
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]